不韋 呂
/
SDR_AM_Rx_CIC
AM中波放送用SDR.CICフィルタのみを使用.CQ出版社「トランジスタ技術」誌,2021年4月号に掲載
SDR_Library/F446_ADC.hpp@0:6906f8616429, 2019-09-16 (annotated)
- Committer:
- MikamiUitOpen
- Date:
- Mon Sep 16 14:20:17 2019 +0000
- Revision:
- 0:6906f8616429
- Child:
- 1:30d9fb51dec1
1
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
MikamiUitOpen | 0:6906f8616429 | 1 | //------------------------------------------------------------- |
MikamiUitOpen | 0:6906f8616429 | 2 | // F446 内蔵 ADC をポーリング方式で使うためのクラス(ヘッダ) |
MikamiUitOpen | 0:6906f8616429 | 3 | // |
MikamiUitOpen | 0:6906f8616429 | 4 | // 2019/07/15, Copyright (c) 2019 MIKAMI, Naoki |
MikamiUitOpen | 0:6906f8616429 | 5 | //------------------------------------------------------------- |
MikamiUitOpen | 0:6906f8616429 | 6 | |
MikamiUitOpen | 0:6906f8616429 | 7 | #include "mbed.h" |
MikamiUitOpen | 0:6906f8616429 | 8 | |
MikamiUitOpen | 0:6906f8616429 | 9 | #ifndef ADC_F446_POLLING_HPP |
MikamiUitOpen | 0:6906f8616429 | 10 | #define ADC_F446_POLLING_HPP |
MikamiUitOpen | 0:6906f8616429 | 11 | |
MikamiUitOpen | 0:6906f8616429 | 12 | namespace Mikami |
MikamiUitOpen | 0:6906f8616429 | 13 | { |
MikamiUitOpen | 0:6906f8616429 | 14 | class AdcF446 |
MikamiUitOpen | 0:6906f8616429 | 15 | { |
MikamiUitOpen | 0:6906f8616429 | 16 | public: |
MikamiUitOpen | 0:6906f8616429 | 17 | // コンストラクタ |
MikamiUitOpen | 0:6906f8616429 | 18 | // fSampling 標本化周波数 [kHz] |
MikamiUitOpen | 0:6906f8616429 | 19 | // pin 入力ピンの名前 |
MikamiUitOpen | 0:6906f8616429 | 20 | AdcF446(float fSampling, PinName pin); |
MikamiUitOpen | 0:6906f8616429 | 21 | |
MikamiUitOpen | 0:6906f8616429 | 22 | virtual ~AdcF446() {} |
MikamiUitOpen | 0:6906f8616429 | 23 | |
MikamiUitOpen | 0:6906f8616429 | 24 | // AD 変換された値を読み込む |
MikamiUitOpen | 0:6906f8616429 | 25 | // -1.0f <= AD変換された値 < 1.0f |
MikamiUitOpen | 0:6906f8616429 | 26 | virtual float Read(); |
MikamiUitOpen | 0:6906f8616429 | 27 | |
MikamiUitOpen | 0:6906f8616429 | 28 | protected: |
MikamiUitOpen | 0:6906f8616429 | 29 | ADC_TypeDef* const myAdc_; // AD 変換器に対応するポインタ |
MikamiUitOpen | 0:6906f8616429 | 30 | |
MikamiUitOpen | 0:6906f8616429 | 31 | float ToFloat(uint16_t x) { return AMP_*(x - 2048); } |
MikamiUitOpen | 0:6906f8616429 | 32 | |
MikamiUitOpen | 0:6906f8616429 | 33 | private: |
MikamiUitOpen | 0:6906f8616429 | 34 | static const float AMP_ = 1.0f/2048.0f; |
MikamiUitOpen | 0:6906f8616429 | 35 | // AD 変換器の外部トリガに使うタイマ (TIM8) の設定 |
MikamiUitOpen | 0:6906f8616429 | 36 | // fSampling 標本化周波数 [kHz] |
MikamiUitOpen | 0:6906f8616429 | 37 | void SetTim8(float fSampling); |
MikamiUitOpen | 0:6906f8616429 | 38 | |
MikamiUitOpen | 0:6906f8616429 | 39 | // コピー・コンストラクタ禁止のため |
MikamiUitOpen | 0:6906f8616429 | 40 | AdcF446(const AdcF446&); |
MikamiUitOpen | 0:6906f8616429 | 41 | // 代入演算子禁止のため |
MikamiUitOpen | 0:6906f8616429 | 42 | AdcF446& operator=(const AdcF446&); |
MikamiUitOpen | 0:6906f8616429 | 43 | }; |
MikamiUitOpen | 0:6906f8616429 | 44 | } |
MikamiUitOpen | 0:6906f8616429 | 45 | #endif // ADC_F446_POLLING_HPP |
MikamiUitOpen | 0:6906f8616429 | 46 |