Nucleo ボードの USB コネクタに対応するシリアルポート受送信割込みで,複数のキャラクタ受送信をサポ-トするクラス. このライブラリを登録した際のプログラム: Demo_F446_AD_DA_Ctrl.
Dependents: F446_FunctionGenerator F446_UpSampling_GraphicEqualizer F446_UpSampling_ReverbSystem F446_UpSampling_FrqShifter_Weaver ... more
SerialRxTxIntr.hpp@14:268977533f95, 2021-04-12 (annotated)
- Committer:
- MikamiUitOpen
- Date:
- Mon Apr 12 11:49:16 2021 +0000
- Revision:
- 14:268977533f95
- Parent:
- 13:deeef404ff49
15
Who changed what in which revision?
User | Revision | Line number | New 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 |