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-09-18
- Revision:
- 4:fb847a82f735
- Parent:
- 3:63d7bf321ba2
- Child:
- 5:151d281afa55
File content as of revision 4:fb847a82f735:
//------------------------------------------------------------- // Nucleo ボードの USB コネクタに対応するシリアルポート受送信割込みで // 複数のキャラクタ受送信をサポ-トするクラス // // "\r" を受信した場合に,複数キャラクタの受信の終了とする // キャラクタの数はデフォルトで 32 まで // // ボーレートのデフォルト値は 9,600 boud // Nucleo-F446RE の場合,ファームウェアの更新をしなくても // 115,200 boud までは動作可能 // // 2018/09/18, Copyright (c) 2018 MIKAMI, Naoki //------------------------------------------------------------- #include "mbed.h" #include <string> #include "SerialTxIntr.hpp" #ifndef SERIAL_RX_TX_INTR_HPP #define SERIAL_RX_TX_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, bool lf = true); private: Serial pc_; SerialTxIntr tx_; static int rxMax_; // 受信バッファのサイズ static __IO bool eol_; // "\r" を受信した場合に true static string rxBuffer_; // 受信バッファ string buffer2_; // 受信バッファの内容を保存しておくバッファ bool echoOn_; // シリアル・ポートの受信割り込みに対する割り込みサービス・ルーチン void RxIsr(); }; } #endif // SERIAL_RX_TX_INTR_HPP