
Realtime sound spectrogram using FFT or linear prediction. Spectrogram is displayed on the display of PC. リアルタイム・スペクトログラム.解析の手法:FFT,線形予測法.スペクトログラムは PC のディスプレー装置に表示される.PC 側のプログラム:F446_Spectrogram.
Dependencies: Array_Matrix mbed SerialTxRxIntr F446_AD_DA UIT_FFT_Real
Diff: myFunctions.cpp
- Revision:
- 0:a539141b9dec
- Child:
- 2:acc16e3f91ac
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/myFunctions.cpp Fri Feb 17 04:55:10 2017 +0000 @@ -0,0 +1,31 @@ +#include "myFunctions.hpp" + +// シリアル・ポートの受信割り込み +void Rx() +{ + unsigned char chr = pc_.getc(); + // '\r' を受信した場合はメッセージの終了とする + // '\r' は,rxBuffer_ には追加されない + if (chr == '\r') eol_ = true; + else rxBuffer_ += chr; // '\r' が来るまで文字が追加される + + // 受信するメッセージの文字数のチェック + if (rxBuffer_.size() > RX_MAX_) + while (true) // 文字数がオーバーの場合 LED が点滅する + { + myLed_ = !myLed_; + wait(0.1f); + } +} + +// データを PC へ転送(12 ビットを 2 文字で表すコード化を利用) +void Xfer(Array<int16_t> &xn) +{ + for (int n=0; n<xn.Length(); n++) + pc_.printf("%c%c", ((xn[n] & 0xFC0) >> 6) + ' ', + (xn[n] & 0x3F) + ' '); + + pc_.printf("\n"); // データの最後を通知 + wait_ms(1); // これは必須 + pc_.printf("EOT\n"); // 転送終了であることを送信 +}