Nucleo ボードの USB コネクタに対応するシリアルポート受送信割込みで,複数のキャラクタ受送信をサポ-トするクラス. このライブラリを登録した際のプログラム: Demo_F446_AD_DA_Ctrl.
Dependents: F446_FunctionGenerator F446_UpSampling_GraphicEqualizer F446_UpSampling_ReverbSystem F446_UpSampling_FrqShifter_Weaver ... more
Diff: SerialRxTxIntr.hpp
- Revision:
- 0:6b652858f92d
- Child:
- 2:f6e15c19dd75
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/SerialRxTxIntr.hpp Mon Jun 11 10:38:25 2018 +0000 @@ -0,0 +1,42 @@ +//------------------------------------------------------------- +// Nucleo ボードの USB コネクタに対応するシリアルポート受送信割込みで +// 複数のキャラクタ受送信をサポ-トするクラス +// +// "\r" を受信した場合に,複数キャラクタの受信の終了とする +// キャラクタの数はデフォルトで 32 まで +// +// ボーレートのデフォルト値は 9,600 boud +// Nucleo-F446RE の場合,ファームウェアの更新をしなくても +// 115,200 boud までは動作可能 +// +// 2018/06/09, Copyright (c) 2018 MIKAMI, Naoki +//------------------------------------------------------------- + +#include "mbed.h" +#include <string> +#include "SerialTxIntr.hpp" + +class SerialRxTxIntr +{ +public: + SerialRxTxIntr(int maxChar = 32, int baud = 9600); + + // メッセージの終了であればそのメッセージを保存し true を返す + bool IsEol(); + // バッファの内容を取得 + string GetBuffer() { return buffer2_; } + // 文字列の送信 + void Tx(string str); + +private: + Serial pc_; + SerialTxIntr tx_; + + static int rxMax_; // 受信バッファのサイズ + static __IO bool eol_; // "\r" を受信した場合に true + static string rxBuffer_; // 受信バッファ + string buffer2_; // 受信バッファの内容を保存しておくバッファ + + // シリアル・ポートの受信割り込みに対する割り込みサービス・ルーチン + void RxIsr(); +};