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

Dependents:   F446_FunctionGenerator F446_UpSampling_GraphicEqualizer F446_UpSampling_ReverbSystem F446_UpSampling_FrqShifter_Weaver ... more

Revision:
13:deeef404ff49
Parent:
9:a90a9abeaea0
--- a/SerialRxTxIntr.cpp	Mon Jan 27 07:43:38 2020 +0000
+++ b/SerialRxTxIntr.cpp	Wed Feb 05 08:45:08 2020 +0000
@@ -2,53 +2,53 @@
 //  Nucleo ボードの USB コネクタに対応するシリアルポート受送信割込みで
 //  複数のキャラクタ受送信をサポ-トするクラス
 //
-//  2019/11/23, Copyright (c) 2018 MIKAMI, Naoki
+//  2020/02/05, Copyright (c) 2020 MIKAMI, Naoki
 //-------------------------------------------------------------
 
 #include "SerialRxTxIntr.hpp"
 
 namespace Mikami
 {
-	// コンストラクタ
-	SerialRxTxIntr::SerialRxTxIntr(int maxChar, int baud)
-    	: pc_(USBTX, USBRX, baud), tx_(pc_), RX_MAX_(maxChar),
-	      eol_(false), rxBuffer_(""), buffer2_(""), echoOn_(false)
-	{
-    	pc_.format();    // default: 8 bits, nonparity, 1 stop bit
-	    pc_.attach(callback(this, &SerialRxTxIntr::RxIsr));
-	}
+    // コンストラクタ
+    SerialRxTxIntr::SerialRxTxIntr(int maxChar, int baud)
+        : pc_(USBTX, USBRX, baud), tx_(pc_), RX_MAX_(maxChar),
+          eol_(false), rxBuffer_(""), buffer2_(""), echoOn_(false)
+    {
+        pc_.format();    // default: 8 bits, nonparity, 1 stop bit
+        pc_.attach(callback(this, &SerialRxTxIntr::RxIsr));
+    }
 
-	// メッセージの終了であればそのメッセージを保存し true を返す
-	bool SerialRxTxIntr::IsEol()
-	{
-	    if (!eol_) return false;
+    // メッセージの終了であればそのメッセージを保存し true を返す
+    bool SerialRxTxIntr::IsEol()
+    {
+        if (!eol_) return false;
 
-    	eol_ = false;
-	    buffer2_ = rxBuffer_;   // メッセージの保存
-    	rxBuffer_ = "";         // 受信バッファをクリア
-	    return true;
-	}
+        eol_ = false;
+        buffer2_ = rxBuffer_;   // メッセージの保存
+        rxBuffer_ = "";         // 受信バッファをクリア
+        return true;
+    }
 
-	// シリアル・ポートの受信割り込みに対する割り込みサービス・ルーチン
-	void SerialRxTxIntr::RxIsr()
-	{
-    	unsigned char chr = pc_.getc();
-	    if (echoOn_)            // エコーバックが有効な場合
-    	{
-        	tx_.TxWrite(chr);   // エコーバック
-	        if (chr == '\r') tx_.TxWrite('\n');
-    	}
-	    // "\r" を受信した場合はメッセージの終了とする
-    	// "\r" は rxBuffer_ に追加されない
-    	if (chr == '\r') eol_ = true;
-	    else             rxBuffer_ += chr;
+    // シリアル・ポートの受信割り込みに対する割り込みサービス・ルーチン
+    void SerialRxTxIntr::RxIsr()
+    {
+        unsigned char chr = pc_.getc();
+        if (echoOn_)            // エコーバックが有効な場合
+        {
+            tx_.TxChar(chr);    // エコーバック
+            if (chr == '\r') tx_.TxChar('\n');
+        }
+        // "\r" を受信した場合はメッセージの終了とする
+        // "\r" は rxBuffer_ に追加されない
+        if (chr == '\r') eol_ = true;
+        else             rxBuffer_ += chr;
 
-    	// 受信するメッセージの文字数のチェック
-	    if (rxBuffer_.size() > RX_MAX_)
-	    {
-		    char ch[32];
-		    sprintf(ch, "Exceeded %d characters", RX_MAX_);
-		    mbed_assert_internal(ch, __FILE__, __LINE__);
-		}
-	}
+        // 受信するメッセージの文字数のチェック
+        if (rxBuffer_.size() > RX_MAX_)
+        {
+            char ch[32];
+            sprintf(ch, "Exceeded %d characters", RX_MAX_);
+            mbed_assert_internal(ch, __FILE__, __LINE__);
+        }
+    }
 }
\ No newline at end of file