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

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");    // 転送終了であることを送信
+}