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

Dependencies:   mbed F446_AD_DA_Multirate

Committer:
MikamiUitOpen
Date:
Thu Oct 11 11:43:25 2018 +0000
Revision:
7:c3caa8d38ad5
Parent:
6:2199a6874b78
Child:
8:977c197134c5
8

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 7:c3caa8d38ad5 7 // 2018/10/11, 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 int main()
MikamiUitOpen 0:6c7b511cf28e 16 {
MikamiUitOpen 7:c3caa8d38ad5 17 const int FS = 10000; // 入力の標本化周波数: 10 kHz
MikamiUitOpen 7:c3caa8d38ad5 18 F446_Multirate myAdDa; // 出力標本化周波数を4倍にするオブジェクト
MikamiUitOpen 0:6c7b511cf28e 19 printf("\r\n開始します.\r\n");
MikamiUitOpen 0:6c7b511cf28e 20
MikamiUitOpen 7:c3caa8d38ad5 21 // F446_Multirate::Start() と F446_Multirate::Input() の間に
MikamiUitOpen 7:c3caa8d38ad5 22 // printf() のように重い処理は実行しないこと.
MikamiUitOpen 7:c3caa8d38ad5 23 myAdDa.Start(FS); // 標本化を開始する
MikamiUitOpen 0:6c7b511cf28e 24
MikamiUitOpen 0:6c7b511cf28e 25 while (true)
MikamiUitOpen 0:6c7b511cf28e 26 {
MikamiUitOpen 0:6c7b511cf28e 27 //------------------------------------------------------------
MikamiUitOpen 0:6c7b511cf28e 28 // ここにディジタルフィルタ等の処理を記述する
MikamiUitOpen 7:c3caa8d38ad5 29 float xn = myAdDa.Input(); // 入力
MikamiUitOpen 5:aff3a2d4b41f 30 // wait_us(93); // 標本化周波数が 10 kHz の場合,
MikamiUitOpen 5:aff3a2d4b41f 31 // 93 μs 以下の実行時間の信号処理であれば OK
MikamiUitOpen 5:aff3a2d4b41f 32 float yn = xn; // これは入力信号に何も処理しない例
MikamiUitOpen 7:c3caa8d38ad5 33 myAdDa.Output(yn); // 出力
MikamiUitOpen 0:6c7b511cf28e 34 //------------------------------------------------------------
MikamiUitOpen 0:6c7b511cf28e 35 }
MikamiUitOpen 0:6c7b511cf28e 36 }