![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
F446_AD_DA_MultirateSWI の使用例. AD された信号をそのまま DA に出力する. 標本化周波数:10 kHz
Dependencies: mbed F446_AD_DA_MultirateSWI
main.cpp@0:c9c315b69b4c, 2018-10-29 (annotated)
- Committer:
- MikamiUitOpen
- Date:
- Mon Oct 29 00:16:03 2018 +0000
- Revision:
- 0:c9c315b69b4c
- Child:
- 1:78ba79912b8f
1
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
MikamiUitOpen | 0:c9c315b69b4c | 1 | //---------------------------------------------------------------------- |
MikamiUitOpen | 0:c9c315b69b4c | 2 | // NUCLEO-F446RE で アナログ信号の入出力の際に,出力の標本化周波数を, |
MikamiUitOpen | 0:c9c315b69b4c | 3 | // 入力の標本化周波数の4倍にするクラス F446_MultirateSWI の使用例 |
MikamiUitOpen | 0:c9c315b69b4c | 4 | // |
MikamiUitOpen | 0:c9c315b69b4c | 5 | // 処理の内容:AD 変換器からの入力をそのまま DA 変換器に出力する |
MikamiUitOpen | 0:c9c315b69b4c | 6 | // |
MikamiUitOpen | 0:c9c315b69b4c | 7 | // 2018/10/29, Copyright (c) 2018 MIKAMI, Naoki |
MikamiUitOpen | 0:c9c315b69b4c | 8 | //---------------------------------------------------------------------- |
MikamiUitOpen | 0:c9c315b69b4c | 9 | |
MikamiUitOpen | 0:c9c315b69b4c | 10 | #include "F446_MultirateSWI.hpp" |
MikamiUitOpen | 0:c9c315b69b4c | 11 | #pragma diag_suppress 870 // マルチバイト文字使用の警告抑制のため |
MikamiUitOpen | 0:c9c315b69b4c | 12 | |
MikamiUitOpen | 0:c9c315b69b4c | 13 | using namespace Mikami; |
MikamiUitOpen | 0:c9c315b69b4c | 14 | |
MikamiUitOpen | 0:c9c315b69b4c | 15 | F446_MultirateSWI myAdDa_; // 出力標本化周波数を4倍にするオブジェクト |
MikamiUitOpen | 0:c9c315b69b4c | 16 | |
MikamiUitOpen | 0:c9c315b69b4c | 17 | // ここにディジタルフィルタ等の処理を記述する(割り込みサービス・ルーチン) |
MikamiUitOpen | 0:c9c315b69b4c | 18 | void SignalProcessing() |
MikamiUitOpen | 0:c9c315b69b4c | 19 | { |
MikamiUitOpen | 0:c9c315b69b4c | 20 | float xn = myAdDa_.Input(); // 入力 |
MikamiUitOpen | 0:c9c315b69b4c | 21 | // wait_us(93); // 標本化周波数が 10 kHz の場合, |
MikamiUitOpen | 0:c9c315b69b4c | 22 | // 93 μs 以下の実行時間の信号処理であれば OK |
MikamiUitOpen | 0:c9c315b69b4c | 23 | float yn = xn; // これは入力信号に何も処理しない例 |
MikamiUitOpen | 0:c9c315b69b4c | 24 | myAdDa_.Output(yn); // 出力 |
MikamiUitOpen | 0:c9c315b69b4c | 25 | } |
MikamiUitOpen | 0:c9c315b69b4c | 26 | |
MikamiUitOpen | 0:c9c315b69b4c | 27 | int main() |
MikamiUitOpen | 0:c9c315b69b4c | 28 | { |
MikamiUitOpen | 0:c9c315b69b4c | 29 | const int FS = 10000; // 入力の標本化周波数: 10 kHz |
MikamiUitOpen | 0:c9c315b69b4c | 30 | printf("\r\n開始します.\r\n"); |
MikamiUitOpen | 0:c9c315b69b4c | 31 | |
MikamiUitOpen | 0:c9c315b69b4c | 32 | myAdDa_.Start(FS, &SignalProcessing); // 標本化を開始する |
MikamiUitOpen | 0:c9c315b69b4c | 33 | |
MikamiUitOpen | 0:c9c315b69b4c | 34 | while (true) {} |
MikamiUitOpen | 0:c9c315b69b4c | 35 | } |