Command line interface for UART.
UARTでコマンドラインインターフェースを実現するためのライブラリです。
UARTからコマンドが入力されるとReadLine関数をコールバックします。
コマンドのデリミタはCR(0x0d)です。
コマンドはバックスペースで消去できます。
#include "mbed.h" #include "MjLineSerial.h" using namespace matsujirushi; RawSerial pc(USBTX, USBRX); MjLineSerial line(&pc); void readLineFunc(const char *str) { if (strcmp(str, "apple") == 0) { line.puts("RINGO"); } else if (strcmp(str, "orange") == 0) { line.puts("MIKAN"); } else { line.puts("unknown."); } line.puts("\r\n"); line.putc('>'); } int main() { pc.baud(115200); line.attachReadLine(readLineFunc); line.putc('>'); for (;;) { line.task(); } }
Diff: MjLineSerial.h
- Revision:
- 0:40d65405e747
- Child:
- 1:833745ae8a7e
diff -r 000000000000 -r 40d65405e747 MjLineSerial.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/MjLineSerial.h Tue Nov 18 14:43:37 2014 +0000 @@ -0,0 +1,23 @@ +#ifndef MJ_LINE_SERIAL_H +#define MJ_LINE_SERIAL_H + +#include "mbed.h" + +namespace matsujirushi { + +class MjLineSerial +{ +public: + MjLineSerial(RawSerial *serial); + int getc(); + int putc(int c); + int printf(const char *format, ...); + +private: + RawSerial *baseSerial; + +}; + +} // namespace matsujirushi + +#endif