F446_AD_DA_MultirateSWI の使用例. AD された信号をそのまま DA に出力する. 標本化周波数:10 kHz

Dependencies:   mbed F446_AD_DA_MultirateSWI

Committer:
MikamiUitOpen
Date:
Sun Feb 09 02:18:56 2020 +0000
Revision:
2:b3f9a842784e
Parent:
1:78ba79912b8f
3

Who changed what in which revision?

UserRevisionLine numberNew 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 1:78ba79912b8f 7 // 2018/11/28, 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 }