Nucleo ボードの USB コネクタに対応するシリアルポート受送信割込みで,複数のキャラクタ受送信をサポ-トするクラス.   このライブラリを登録した際のプログラム: Demo_F446_AD_DA_Ctrl.

Dependents:   F446_FunctionGenerator F446_UpSampling_GraphicEqualizer F446_UpSampling_ReverbSystem F446_UpSampling_FrqShifter_Weaver ... more

Revision:
0:6b652858f92d
Child:
2:f6e15c19dd75
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/SerialRxTxIntr.hpp	Mon Jun 11 10:38:25 2018 +0000
@@ -0,0 +1,42 @@
+//-------------------------------------------------------------
+//  Nucleo ボードの USB コネクタに対応するシリアルポート受送信割込みで
+//  複数のキャラクタ受送信をサポ-トするクラス
+//
+//  "\r" を受信した場合に,複数キャラクタの受信の終了とする
+//  キャラクタの数はデフォルトで 32 まで
+//
+//  ボーレートのデフォルト値は 9,600 boud
+//  Nucleo-F446RE の場合,ファームウェアの更新をしなくても
+//  115,200 boud までは動作可能
+//
+//  2018/06/09, Copyright (c) 2018 MIKAMI, Naoki
+//-------------------------------------------------------------
+
+#include "mbed.h"
+#include <string>
+#include "SerialTxIntr.hpp"
+
+class SerialRxTxIntr
+{
+public:
+    SerialRxTxIntr(int maxChar = 32, int baud = 9600);
+
+    // メッセージの終了であればそのメッセージを保存し true を返す
+    bool IsEol();
+    // バッファの内容を取得
+    string GetBuffer() { return buffer2_; }
+    // 文字列の送信
+    void Tx(string str);
+
+private:
+    Serial pc_;
+    SerialTxIntr tx_;
+
+    static int rxMax_;          // 受信バッファのサイズ
+    static __IO bool eol_;      // "\r" を受信した場合に true
+    static string rxBuffer_;    // 受信バッファ
+    string buffer2_;            // 受信バッファの内容を保存しておくバッファ
+
+    // シリアル・ポートの受信割り込みに対する割り込みサービス・ルーチン
+    void RxIsr();
+};