![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
Nucleo-F446 によるグラフィック・イコライザ.DA変換器にデータを送る際は 4 倍にアップ・サンプリング.
Dependencies: mbed SerialTxRxIntr F446_AD_DA_Multirate
Diff: main.cpp
- Revision:
- 5:a4f15be9afb7
- Parent:
- 4:56edc65750f3
- Child:
- 6:7dd696fe86c8
--- a/main.cpp Tue Jul 10 12:40:50 2018 +0000 +++ b/main.cpp Sun Oct 07 04:31:25 2018 +0000 @@ -3,7 +3,7 @@ // // PC 側のプログラム: F446_GraphicEqualizer // -// 2018/07/10, Copyright (c) 2018 MIKAMI, Naoki +// 2018/10/07, Copyright (c) 2018 MIKAMI, Naoki //---------------------------------------------------------------------- #include "main.hpp" @@ -51,16 +51,16 @@ if (rx_.IsEol()) // 受信バッファのデータが有効になった場合の処理 { string str = rx_.GetBuffer(); - if (str.find("GrEq") != string::npos) - rx_.Tx("ACK"); // "ACK" を送り返す - else if (str.find("ON") != string::npos) + if (str == "GrEq") + rx_.Tx("ACK\n"); // "ACK" を送り返す + else if (str == "ACTIVE") on = true; // フィルタ処理を有効にする - else if (str.find("OFF") != string::npos) + else if (str == "THROUGH") on = false; // フィルタ処理を無効にする - else if (str.find("FLAT") != string::npos) + else if (str == "FLAT") for (int n=0; n<BANDS; n++) // フィルタの特性を平坦にする biquad[n].SetCoefficients(params.Get(n, f0[n], 0, Q_VAL)); - // "ENQ", "ON", "OFF", "FLAT" 以外は float 型の数値に対応する文字列とし + // "GrEq", "ON", "OFF", "FLAT" 以外は float 型の数値に対応する文字列とし // て処理を行う else { @@ -76,3 +76,4 @@ //------------------------------------------------------------ } } +