AM中波放送用SDR.CICフィルタのみを使用.CQ出版社「トランジスタ技術」誌,2021年4月号に掲載

Dependencies:   mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers F446_ADC_Base.hpp Source File

F446_ADC_Base.hpp

00001 //-------------------------------------------------------------
00002 //  F446 内蔵 ADC 用抽象基底クラス(ヘッダ)
00003 //
00004 //  2020/07/24, Copyright (c) 2020 MIKAMI, Naoki
00005 //-------------------------------------------------------------
00006 
00007 #include "mbed.h"
00008 
00009 #ifndef ADC_F446_POLLING_HPP
00010 #define ADC_F446_POLLING_HPP
00011 
00012 namespace Mikami
00013 {
00014     class AdcF446_Base
00015     {
00016     public:
00017         // コンストラクタ
00018         //      fSampling  標本化周波数 [kHz]
00019         //      pin        入力ピンの名前
00020         AdcF446_Base(float fSampling, PinName pin);
00021 
00022         virtual ~AdcF446_Base() {}
00023 
00024         // AD 変換された値を読み込む(純粋仮想関数)
00025         virtual float Read() = 0;
00026 
00027     protected:
00028         ADC_TypeDef* const myAdc_;  // AD 変換器に対応するポインタ
00029 
00030         float ToFloat(uint16_t x) { return AMP_*(x - 2048); }
00031     
00032     private:
00033         static const float AMP_ = 1.0f/2048.0f;
00034 
00035         // AD 変換器の外部トリガに使うタイマ (TIM8) の設定
00036         //      fSampling  標本化周波数 [kHz]
00037         void SetTim8(float fSampling);
00038 
00039         // コピー・コンストラクタ,代入演算子の禁止のため
00040         AdcF446_Base(const AdcF446_Base&);
00041         AdcF446_Base& operator=(const AdcF446_Base&);
00042     };
00043 }
00044 #endif  // ADC_F446_POLLING_HPP