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

Dependents:   F446_FunctionGenerator F446_UpSampling_GraphicEqualizer F446_UpSampling_ReverbSystem F446_UpSampling_FrqShifter_Weaver ... more

Committer:
MikamiUitOpen
Date:
Mon Apr 12 11:49:16 2021 +0000
Revision:
14:268977533f95
Parent:
13:deeef404ff49
15

Who changed what in which revision?

UserRevisionLine numberNew contents of line
MikamiUitOpen 0:6b652858f92d 1 //-------------------------------------------------------------
MikamiUitOpen 0:6b652858f92d 2 // Nucleo ボードの USB コネクタに対応するシリアルポート受送信割込みで
MikamiUitOpen 0:6b652858f92d 3 // 複数のキャラクタ受送信をサポ-トするクラス
MikamiUitOpen 0:6b652858f92d 4 //
MikamiUitOpen 0:6b652858f92d 5 // "\r" を受信した場合に,複数キャラクタの受信の終了とする
MikamiUitOpen 0:6b652858f92d 6 // キャラクタの数はデフォルトで 32 まで
MikamiUitOpen 0:6b652858f92d 7 //
MikamiUitOpen 0:6b652858f92d 8 // ボーレートのデフォルト値は 9,600 boud
MikamiUitOpen 0:6b652858f92d 9 // Nucleo-F446RE の場合,ファームウェアの更新をしなくても
MikamiUitOpen 0:6b652858f92d 10 // 115,200 boud までは動作可能
MikamiUitOpen 0:6b652858f92d 11 //
MikamiUitOpen 14:268977533f95 12 // 2021/04/12 メンバ関数 Baud() を追加
MikamiUitOpen 14:268977533f95 13 //
MikamiUitOpen 14:268977533f95 14 // 2021/04/12, Copyright (c) 2020 MIKAMI, Naoki
MikamiUitOpen 0:6b652858f92d 15 //-------------------------------------------------------------
MikamiUitOpen 0:6b652858f92d 16
MikamiUitOpen 0:6b652858f92d 17 #include "mbed.h"
MikamiUitOpen 0:6b652858f92d 18 #include <string>
MikamiUitOpen 0:6b652858f92d 19 #include "SerialTxIntr.hpp"
MikamiUitOpen 0:6b652858f92d 20
MikamiUitOpen 5:151d281afa55 21 #ifndef SERIAL_RXTX_INTR_HPP
MikamiUitOpen 5:151d281afa55 22 #define SERIAL_RXTX_INTR_HPP
MikamiUitOpen 4:fb847a82f735 23
MikamiUitOpen 4:fb847a82f735 24 namespace Mikami
MikamiUitOpen 0:6b652858f92d 25 {
MikamiUitOpen 4:fb847a82f735 26 class SerialRxTxIntr
MikamiUitOpen 4:fb847a82f735 27 {
MikamiUitOpen 4:fb847a82f735 28 public:
MikamiUitOpen 13:deeef404ff49 29 SerialRxTxIntr(int maxChar = 32, int baud = 9600); // コンストラクタ
MikamiUitOpen 13:deeef404ff49 30 bool IsEol(); // メッセージの終了であればそのメッセージを保存し true を返す
MikamiUitOpen 13:deeef404ff49 31 string GetBuffer() { return buffer2_; } // バッファの内容を取得
MikamiUitOpen 13:deeef404ff49 32 void EchobackEnable() { echoOn_ = true; } // エコーバック ON
MikamiUitOpen 13:deeef404ff49 33 void EchobackDisable() { echoOn_ = false; } // エコーバック OFF
MikamiUitOpen 13:deeef404ff49 34 void TxString(string str) { tx_.TxString(str); } // 文字列の送信
MikamiUitOpen 14:268977533f95 35 void Baud(int baudRate) { pc_.baud(baudRate); } // ボーレートの設定
MikamiUitOpen 0:6b652858f92d 36
MikamiUitOpen 4:fb847a82f735 37 private:
MikamiUitOpen 4:fb847a82f735 38 Serial pc_;
MikamiUitOpen 4:fb847a82f735 39 SerialTxIntr tx_;
MikamiUitOpen 0:6b652858f92d 40
MikamiUitOpen 5:151d281afa55 41 const int RX_MAX_; // 受信バッファのサイズ
MikamiUitOpen 5:151d281afa55 42 __IO bool eol_; // "\r" を受信した場合に true
MikamiUitOpen 5:151d281afa55 43 string rxBuffer_; // 受信バッファ
MikamiUitOpen 5:151d281afa55 44 string buffer2_; // 受信バッファの内容を保存しておくバッファ
MikamiUitOpen 5:151d281afa55 45 bool echoOn_; // エコーバックの有無
MikamiUitOpen 0:6b652858f92d 46
MikamiUitOpen 4:fb847a82f735 47 // シリアル・ポートの受信割り込みに対する割り込みサービス・ルーチン
MikamiUitOpen 4:fb847a82f735 48 void RxIsr();
MikamiUitOpen 8:8f6e9351f313 49
MikamiUitOpen 13:deeef404ff49 50 // コピー・コンストラクタ,代入演算子の禁止のため
MikamiUitOpen 8:8f6e9351f313 51 SerialRxTxIntr(const SerialRxTxIntr&);
MikamiUitOpen 8:8f6e9351f313 52 SerialRxTxIntr& operator=(const SerialRxTxIntr&);
MikamiUitOpen 4:fb847a82f735 53 };
MikamiUitOpen 4:fb847a82f735 54 }
MikamiUitOpen 9:a90a9abeaea0 55 #endif // SERIAL_RXTX_INTR_HPP