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

Dependencies:   mbed F446_AD_DA_Multirate

Committer:
MikamiUitOpen
Date:
Fri Jun 15 13:33:41 2018 +0000
Revision:
5:aff3a2d4b41f
Parent:
4:ea5c1ccf1c31
Child:
6:2199a6874b78
6

Who changed what in which revision?

UserRevisionLine numberNew contents of line
MikamiUitOpen 0:6c7b511cf28e 1 //----------------------------------------------------------------------
MikamiUitOpen 0:6c7b511cf28e 2 // NUCLEO-F446RE で アナログ信号の入出力の際に,出力の標本化周波数を,
MikamiUitOpen 0:6c7b511cf28e 3 // 入力の標本化周波数の4倍にするクラス F446_Multirate の使用例
MikamiUitOpen 0:6c7b511cf28e 4 //
MikamiUitOpen 0:6c7b511cf28e 5 // 処理の内容:AD 変換器からの入力をそのまま DA 変換器に出力する
MikamiUitOpen 0:6c7b511cf28e 6 //
MikamiUitOpen 5:aff3a2d4b41f 7 // 2018/06/15, Copyright (c) 2018 MIKAMI, Naoki
MikamiUitOpen 0:6c7b511cf28e 8 //----------------------------------------------------------------------
MikamiUitOpen 0:6c7b511cf28e 9
MikamiUitOpen 0:6c7b511cf28e 10 #include "F446_Multirate.hpp"
MikamiUitOpen 0:6c7b511cf28e 11 #pragma diag_suppress 870 // マルチバイト文字使用の警告抑制のため
MikamiUitOpen 0:6c7b511cf28e 12
MikamiUitOpen 0:6c7b511cf28e 13 using namespace Mikami;
MikamiUitOpen 0:6c7b511cf28e 14
MikamiUitOpen 0:6c7b511cf28e 15 const int FS_ = 10000; // 入力の標本化周波数: 10 kHz
MikamiUitOpen 0:6c7b511cf28e 16 F446_Multirate myAdDa_; // 出力標本化周波数を4倍にするオブジェクト
MikamiUitOpen 3:85f286a66e7f 17
MikamiUitOpen 0:6c7b511cf28e 18 int main()
MikamiUitOpen 0:6c7b511cf28e 19 {
MikamiUitOpen 0:6c7b511cf28e 20 printf("\r\n開始します.\r\n");
MikamiUitOpen 0:6c7b511cf28e 21
MikamiUitOpen 2:97e3dcf085dc 22 myAdDa_.Start(FS_); // 標本化を開始する
MikamiUitOpen 0:6c7b511cf28e 23
MikamiUitOpen 0:6c7b511cf28e 24 while (true)
MikamiUitOpen 0:6c7b511cf28e 25 {
MikamiUitOpen 0:6c7b511cf28e 26 //------------------------------------------------------------
MikamiUitOpen 0:6c7b511cf28e 27 // ここにディジタルフィルタ等の処理を記述する
MikamiUitOpen 5:aff3a2d4b41f 28 float xn = myAdDa_.Input(); // 入力
MikamiUitOpen 5:aff3a2d4b41f 29 // wait_us(93); // 標本化周波数が 10 kHz の場合,
MikamiUitOpen 5:aff3a2d4b41f 30 // 93 μs 以下の実行時間の信号処理であれば OK
MikamiUitOpen 5:aff3a2d4b41f 31 float yn = xn; // これは入力信号に何も処理しない例
MikamiUitOpen 5:aff3a2d4b41f 32 myAdDa_.Output(yn); // 出力
MikamiUitOpen 0:6c7b511cf28e 33 //------------------------------------------------------------
MikamiUitOpen 0:6c7b511cf28e 34 }
MikamiUitOpen 0:6c7b511cf28e 35 }