不韋 呂
/
SDR_AM_Rx_CIC
AM中波放送用SDR.CICフィルタのみを使用.CQ出版社「トランジスタ技術」誌,2021年4月号に掲載
Embed:
(wiki syntax)
Show/hide line numbers
F446_ADC_Intr.hpp
00001 //------------------------------------------------------------- 00002 // F446 内蔵 ADC を割込み方式で使うための派生クラス 00003 // 基底クラス: AdcF446_Base 00004 // 00005 // 2020/07/24, Copyright (c) 2020 MIKAMI, Naoki 00006 //------------------------------------------------------------- 00007 00008 #include "F446_ADC_Base.hpp" 00009 00010 #ifndef ADC_F446_INTERRUPT_HPP 00011 #define ADC_F446_INTERRUPT_HPP 00012 00013 namespace Mikami 00014 { 00015 class AdcF446_Intr : public AdcF446_Base 00016 { 00017 public: 00018 // コンストラクタ 00019 // fSampling 標本化周波数 [kHz] 00020 // pin 入力ピンの名前 00021 AdcF446_Intr(float fSampling, PinName pin) 00022 : AdcF446_Base(fSampling, pin) 00023 { myAdc_->CR1 |= ADC_CR1_EOCIE; } // AD 変換終了割り込みを許可 00024 00025 virtual ~AdcF446_Intr() {} 00026 00027 // 割込みベクタの設定と AD 変換割込みを有効にする 00028 void SetIntrVec(void (*Func)()) 00029 { 00030 NVIC_SetVector(ADC_IRQn, (uint32_t)Func); // "core_cm4.h" 参照 00031 NVIC_EnableIRQ(ADC_IRQn); // "core_cm4.h" 参照 00032 } 00033 00034 // AD 変換された値を読み込む 00035 // -1.0f <= AD変換された値 < 1.0f 00036 virtual float Read() { return ToFloat(myAdc_->DR); } 00037 00038 private: 00039 // コピー・コンストラクタ,代入演算子禁止の禁止のため 00040 AdcF446_Intr(const AdcF446_Intr&); 00041 AdcF446_Intr& operator=(const AdcF446_Intr&); 00042 }; 00043 } 00044 #endif // ADC_F446_INTERRUPT_HPP
Generated on Fri Jul 22 2022 13:23:29 by 1.7.2