Nucleo ボードの USB コネクタに対応するシリアルポート受送信割込みで,複数のキャラクタ受送信をサポ-トするクラス. このライブラリを登録した際のプログラム: Demo_F446_AD_DA_Ctrl.
Dependents: F446_FunctionGenerator F446_UpSampling_GraphicEqualizer F446_UpSampling_ReverbSystem F446_UpSampling_FrqShifter_Weaver ... more
SerialRxTxIntr.hpp
- Committer:
- MikamiUitOpen
- Date:
- 2018-10-07
- Revision:
- 7:190d94fba10d
- Parent:
- 6:8084247806a4
- Child:
- 8:8f6e9351f313
File content as of revision 7:190d94fba10d:
//------------------------------------------------------------- // Nucleo ボードの USB コネクタに対応するシリアルポート受送信割込みで // 複数のキャラクタ受送信をサポ-トするクラス // // "\r" を受信した場合に,複数キャラクタの受信の終了とする // キャラクタの数はデフォルトで 32 まで // // ボーレートのデフォルト値は 9,600 boud // Nucleo-F446RE の場合,ファームウェアの更新をしなくても // 115,200 boud までは動作可能 // // 2018/10/06, Copyright (c) 2018 MIKAMI, Naoki //------------------------------------------------------------- #include "mbed.h" #include <string> #include "SerialTxIntr.hpp" #ifndef SERIAL_RXTX_INTR_HPP #define SERIAL_RXTX_INTR_HPP namespace Mikami { class SerialRxTxIntr { public: SerialRxTxIntr(int maxChar = 32, int baud = 9600); // メッセージの終了であればそのメッセージを保存し true を返す bool IsEol(); // バッファの内容を取得 string GetBuffer() { return buffer2_; } // エコーバック ON void EchobackEnable() { echoOn_ = true; } // エコーバック OFF void EchobackDisable() { echoOn_ = false; } // 文字列の送信 void Tx(string str) { tx_.TxString(str); } private: Serial pc_; SerialTxIntr tx_; const int RX_MAX_; // 受信バッファのサイズ __IO bool eol_; // "\r" を受信した場合に true string rxBuffer_; // 受信バッファ string buffer2_; // 受信バッファの内容を保存しておくバッファ bool echoOn_; // エコーバックの有無 // シリアル・ポートの受信割り込みに対する割り込みサービス・ルーチン void RxIsr(); }; } #endif // SERIAL_RXTX_INTR_HPP