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

Dependencies:   mbed

Committer:
MikamiUitOpen
Date:
Wed Dec 01 00:53:09 2021 +0000
Revision:
2:63fbcf115b88
Parent:
0:9c28f5905a1a
3

Who changed what in which revision?

UserRevisionLine numberNew contents of line
MikamiUitOpen 0:9c28f5905a1a 1 //-------------------------------------------------------------
MikamiUitOpen 0:9c28f5905a1a 2 // F446 内蔵 ADC 用抽象基底クラス(ヘッダ)
MikamiUitOpen 0:9c28f5905a1a 3 //
MikamiUitOpen 0:9c28f5905a1a 4 // 2020/07/24, Copyright (c) 2020 MIKAMI, Naoki
MikamiUitOpen 0:9c28f5905a1a 5 //-------------------------------------------------------------
MikamiUitOpen 0:9c28f5905a1a 6
MikamiUitOpen 0:9c28f5905a1a 7 #include "mbed.h"
MikamiUitOpen 0:9c28f5905a1a 8
MikamiUitOpen 0:9c28f5905a1a 9 #ifndef ADC_F446_POLLING_HPP
MikamiUitOpen 0:9c28f5905a1a 10 #define ADC_F446_POLLING_HPP
MikamiUitOpen 0:9c28f5905a1a 11
MikamiUitOpen 0:9c28f5905a1a 12 namespace Mikami
MikamiUitOpen 0:9c28f5905a1a 13 {
MikamiUitOpen 0:9c28f5905a1a 14 class AdcF446_Base
MikamiUitOpen 0:9c28f5905a1a 15 {
MikamiUitOpen 0:9c28f5905a1a 16 public:
MikamiUitOpen 0:9c28f5905a1a 17 // コンストラクタ
MikamiUitOpen 0:9c28f5905a1a 18 // fSampling 標本化周波数 [kHz]
MikamiUitOpen 0:9c28f5905a1a 19 // pin 入力ピンの名前
MikamiUitOpen 0:9c28f5905a1a 20 AdcF446_Base(float fSampling, PinName pin);
MikamiUitOpen 0:9c28f5905a1a 21
MikamiUitOpen 0:9c28f5905a1a 22 virtual ~AdcF446_Base() {}
MikamiUitOpen 0:9c28f5905a1a 23
MikamiUitOpen 0:9c28f5905a1a 24 // AD 変換された値を読み込む(純粋仮想関数)
MikamiUitOpen 0:9c28f5905a1a 25 virtual float Read() = 0;
MikamiUitOpen 0:9c28f5905a1a 26
MikamiUitOpen 0:9c28f5905a1a 27 protected:
MikamiUitOpen 0:9c28f5905a1a 28 ADC_TypeDef* const myAdc_; // AD 変換器に対応するポインタ
MikamiUitOpen 0:9c28f5905a1a 29
MikamiUitOpen 0:9c28f5905a1a 30 float ToFloat(uint16_t x) { return AMP_*(x - 2048); }
MikamiUitOpen 0:9c28f5905a1a 31
MikamiUitOpen 0:9c28f5905a1a 32 private:
MikamiUitOpen 0:9c28f5905a1a 33 static const float AMP_ = 1.0f/2048.0f;
MikamiUitOpen 0:9c28f5905a1a 34
MikamiUitOpen 0:9c28f5905a1a 35 // AD 変換器の外部トリガに使うタイマ (TIM8) の設定
MikamiUitOpen 0:9c28f5905a1a 36 // fSampling 標本化周波数 [kHz]
MikamiUitOpen 0:9c28f5905a1a 37 void SetTim8(float fSampling);
MikamiUitOpen 0:9c28f5905a1a 38
MikamiUitOpen 0:9c28f5905a1a 39 // コピー・コンストラクタ,代入演算子の禁止のため
MikamiUitOpen 0:9c28f5905a1a 40 AdcF446_Base(const AdcF446_Base&);
MikamiUitOpen 0:9c28f5905a1a 41 AdcF446_Base& operator=(const AdcF446_Base&);
MikamiUitOpen 0:9c28f5905a1a 42 };
MikamiUitOpen 0:9c28f5905a1a 43 }
MikamiUitOpen 0:9c28f5905a1a 44 #endif // ADC_F446_POLLING_HPP