Nucleo ボードの USB コネクタに対応するシリアルポート受送信割込みで,複数のキャラクタ受送信をサポ-トするクラス. このライブラリを登録した際のプログラム: Demo_F446_AD_DA_Ctrl.
Dependents: F446_FunctionGenerator F446_UpSampling_GraphicEqualizer F446_UpSampling_ReverbSystem F446_UpSampling_FrqShifter_Weaver ... more
SerialRxTxIntr.hpp@6:8084247806a4, 2018-09-28 (annotated)
- Committer:
- MikamiUitOpen
- Date:
- Fri Sep 28 08:13:26 2018 +0000
- Revision:
- 6:8084247806a4
- Parent:
- 5:151d281afa55
- Child:
- 7:190d94fba10d
7
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 | 5:151d281afa55 | 12 | // 2018/09/21, Copyright (c) 2018 MIKAMI, Naoki |
MikamiUitOpen | 0:6b652858f92d | 13 | //------------------------------------------------------------- |
MikamiUitOpen | 0:6b652858f92d | 14 | |
MikamiUitOpen | 0:6b652858f92d | 15 | #include "mbed.h" |
MikamiUitOpen | 0:6b652858f92d | 16 | #include <string> |
MikamiUitOpen | 0:6b652858f92d | 17 | #include "SerialTxIntr.hpp" |
MikamiUitOpen | 0:6b652858f92d | 18 | |
MikamiUitOpen | 5:151d281afa55 | 19 | #ifndef SERIAL_RXTX_INTR_HPP |
MikamiUitOpen | 5:151d281afa55 | 20 | #define SERIAL_RXTX_INTR_HPP |
MikamiUitOpen | 4:fb847a82f735 | 21 | |
MikamiUitOpen | 4:fb847a82f735 | 22 | namespace Mikami |
MikamiUitOpen | 0:6b652858f92d | 23 | { |
MikamiUitOpen | 4:fb847a82f735 | 24 | class SerialRxTxIntr |
MikamiUitOpen | 4:fb847a82f735 | 25 | { |
MikamiUitOpen | 4:fb847a82f735 | 26 | public: |
MikamiUitOpen | 4:fb847a82f735 | 27 | SerialRxTxIntr(int maxChar = 32, int baud = 9600); |
MikamiUitOpen | 0:6b652858f92d | 28 | |
MikamiUitOpen | 4:fb847a82f735 | 29 | // メッセージの終了であればそのメッセージを保存し true を返す |
MikamiUitOpen | 4:fb847a82f735 | 30 | bool IsEol(); |
MikamiUitOpen | 4:fb847a82f735 | 31 | // バッファの内容を取得 |
MikamiUitOpen | 4:fb847a82f735 | 32 | string GetBuffer() { return buffer2_; } |
MikamiUitOpen | 4:fb847a82f735 | 33 | // エコーバック ON |
MikamiUitOpen | 4:fb847a82f735 | 34 | void EchobackEnable() { echoOn_ = true; } |
MikamiUitOpen | 4:fb847a82f735 | 35 | // エコーバック OFF |
MikamiUitOpen | 4:fb847a82f735 | 36 | void EchobackDisable() { echoOn_ = false; } |
MikamiUitOpen | 4:fb847a82f735 | 37 | // 文字列の送信 |
MikamiUitOpen | 4:fb847a82f735 | 38 | void Tx(string str, bool lf = true); |
MikamiUitOpen | 0:6b652858f92d | 39 | |
MikamiUitOpen | 4:fb847a82f735 | 40 | private: |
MikamiUitOpen | 4:fb847a82f735 | 41 | Serial pc_; |
MikamiUitOpen | 4:fb847a82f735 | 42 | SerialTxIntr tx_; |
MikamiUitOpen | 0:6b652858f92d | 43 | |
MikamiUitOpen | 5:151d281afa55 | 44 | const int RX_MAX_; // 受信バッファのサイズ |
MikamiUitOpen | 5:151d281afa55 | 45 | __IO bool eol_; // "\r" を受信した場合に true |
MikamiUitOpen | 5:151d281afa55 | 46 | string rxBuffer_; // 受信バッファ |
MikamiUitOpen | 5:151d281afa55 | 47 | string buffer2_; // 受信バッファの内容を保存しておくバッファ |
MikamiUitOpen | 5:151d281afa55 | 48 | bool echoOn_; // エコーバックの有無 |
MikamiUitOpen | 0:6b652858f92d | 49 | |
MikamiUitOpen | 4:fb847a82f735 | 50 | // シリアル・ポートの受信割り込みに対する割り込みサービス・ルーチン |
MikamiUitOpen | 4:fb847a82f735 | 51 | void RxIsr(); |
MikamiUitOpen | 4:fb847a82f735 | 52 | }; |
MikamiUitOpen | 4:fb847a82f735 | 53 | } |
MikamiUitOpen | 6:8084247806a4 | 54 | #endif // SERIAL_RXTX_INTR_HPP |