Nucleo ボードの USB コネクタに対応するシリアルポート受送信割込みで,複数のキャラクタ受送信をサポ-トするクラス. このライブラリを登録した際のプログラム: Demo_F446_AD_DA_Ctrl.
Dependents: F446_FunctionGenerator F446_UpSampling_GraphicEqualizer F446_UpSampling_ReverbSystem F446_UpSampling_FrqShifter_Weaver ... more
SerialRxTxIntr.hpp@2:f6e15c19dd75, 2018-07-09 (annotated)
- Committer:
- MikamiUitOpen
- Date:
- Mon Jul 09 08:58:06 2018 +0000
- Revision:
- 2:f6e15c19dd75
- Parent:
- 0:6b652858f92d
- Child:
- 3:63d7bf321ba2
3
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 | 2:f6e15c19dd75 | 12 | // 2018/07/09, 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 | 0:6b652858f92d | 19 | class SerialRxTxIntr |
MikamiUitOpen | 0:6b652858f92d | 20 | { |
MikamiUitOpen | 0:6b652858f92d | 21 | public: |
MikamiUitOpen | 0:6b652858f92d | 22 | SerialRxTxIntr(int maxChar = 32, int baud = 9600); |
MikamiUitOpen | 0:6b652858f92d | 23 | |
MikamiUitOpen | 0:6b652858f92d | 24 | // メッセージの終了であればそのメッセージを保存し true を返す |
MikamiUitOpen | 0:6b652858f92d | 25 | bool IsEol(); |
MikamiUitOpen | 0:6b652858f92d | 26 | // バッファの内容を取得 |
MikamiUitOpen | 0:6b652858f92d | 27 | string GetBuffer() { return buffer2_; } |
MikamiUitOpen | 2:f6e15c19dd75 | 28 | // エコーバック ON |
MikamiUitOpen | 2:f6e15c19dd75 | 29 | void EchobackEnable() { echoOn_ = true; } |
MikamiUitOpen | 2:f6e15c19dd75 | 30 | // エコーバック OFF |
MikamiUitOpen | 2:f6e15c19dd75 | 31 | void EchobackDisable() { echoOn_ = false; } |
MikamiUitOpen | 0:6b652858f92d | 32 | // 文字列の送信 |
MikamiUitOpen | 0:6b652858f92d | 33 | void Tx(string str); |
MikamiUitOpen | 0:6b652858f92d | 34 | |
MikamiUitOpen | 0:6b652858f92d | 35 | private: |
MikamiUitOpen | 0:6b652858f92d | 36 | Serial pc_; |
MikamiUitOpen | 0:6b652858f92d | 37 | SerialTxIntr tx_; |
MikamiUitOpen | 0:6b652858f92d | 38 | |
MikamiUitOpen | 0:6b652858f92d | 39 | static int rxMax_; // 受信バッファのサイズ |
MikamiUitOpen | 0:6b652858f92d | 40 | static __IO bool eol_; // "\r" を受信した場合に true |
MikamiUitOpen | 0:6b652858f92d | 41 | static string rxBuffer_; // 受信バッファ |
MikamiUitOpen | 0:6b652858f92d | 42 | string buffer2_; // 受信バッファの内容を保存しておくバッファ |
MikamiUitOpen | 2:f6e15c19dd75 | 43 | bool echoOn_; |
MikamiUitOpen | 0:6b652858f92d | 44 | |
MikamiUitOpen | 0:6b652858f92d | 45 | // シリアル・ポートの受信割り込みに対する割り込みサービス・ルーチン |
MikamiUitOpen | 0:6b652858f92d | 46 | void RxIsr(); |
MikamiUitOpen | 0:6b652858f92d | 47 | }; |