5555+
Dependencies: RingBuffer
Fork of iSerial by
iSerial.h@4:b38ef9675d39, 2012-09-03 (annotated)
- Committer:
- ykuroda
- Date:
- Mon Sep 03 09:15:34 2012 +0000
- Revision:
- 4:b38ef9675d39
- Parent:
- 3:d5353b68105f
- Child:
- 5:d83fc550ccbc
printf using interrupt is implemented
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
ykuroda | 3:d5353b68105f | 1 | // |
ykuroda | 3:d5353b68105f | 2 | // iSerial.h ... Serial Driver with Interrupt Rec/Send |
ykuroda | 3:d5353b68105f | 3 | // |
ykuroda | 3:d5353b68105f | 4 | // Copyright 2012 Yoji KURODA |
ykuroda | 3:d5353b68105f | 5 | // |
ykuroda | 3:d5353b68105f | 6 | // 2009.11.13 ... Originally written by Y.Kuroda for Renesas H83664 |
ykuroda | 3:d5353b68105f | 7 | // 2012.08.31 ... Code convert for mbed in C++ |
ykuroda | 3:d5353b68105f | 8 | // |
ykuroda | 3:d5353b68105f | 9 | #ifndef _ISERIAL_H |
ykuroda | 3:d5353b68105f | 10 | #define _ISERIAL_H |
ykuroda | 3:d5353b68105f | 11 | |
ykuroda | 3:d5353b68105f | 12 | #include <string.h> |
ykuroda | 3:d5353b68105f | 13 | #include "RingBuffer.h" |
ykuroda | 3:d5353b68105f | 14 | |
ykuroda | 3:d5353b68105f | 15 | |
ykuroda | 3:d5353b68105f | 16 | class iSerial : public Serial { |
ykuroda | 3:d5353b68105f | 17 | protected: |
ykuroda | 3:d5353b68105f | 18 | |
ykuroda | 4:b38ef9675d39 | 19 | const int txbufsize; |
ykuroda | 4:b38ef9675d39 | 20 | const int rxbufsize; |
ykuroda | 3:d5353b68105f | 21 | RingBuffer txbuf; |
ykuroda | 3:d5353b68105f | 22 | RingBuffer rxbuf; |
ykuroda | 4:b38ef9675d39 | 23 | char* str; |
ykuroda | 3:d5353b68105f | 24 | |
ykuroda | 3:d5353b68105f | 25 | void tx_handler(void); |
ykuroda | 3:d5353b68105f | 26 | void rx_handler(void); |
ykuroda | 3:d5353b68105f | 27 | |
ykuroda | 3:d5353b68105f | 28 | public: |
ykuroda | 3:d5353b68105f | 29 | |
ykuroda | 3:d5353b68105f | 30 | enum TERMINL_CODES { CR=0x0D, LF=0x0A }; |
ykuroda | 3:d5353b68105f | 31 | |
ykuroda | 3:d5353b68105f | 32 | iSerial(PinName _tx, PinName _rx, const char *_name=NULL, int _txbufsize=100, int _rxbufsize=100); |
ykuroda | 4:b38ef9675d39 | 33 | virtual ~iSerial(); |
ykuroda | 3:d5353b68105f | 34 | |
ykuroda | 3:d5353b68105f | 35 | short int putstr(const char* s); |
ykuroda | 3:d5353b68105f | 36 | |
ykuroda | 4:b38ef9675d39 | 37 | int readable(void); |
ykuroda | 4:b38ef9675d39 | 38 | int getc(void); |
ykuroda | 4:b38ef9675d39 | 39 | void putc(short ch); |
ykuroda | 3:d5353b68105f | 40 | short int puts(const char* s); |
ykuroda | 4:b38ef9675d39 | 41 | //void printf(); |
ykuroda | 4:b38ef9675d39 | 42 | char* printf(const char* format, ...); |
ykuroda | 3:d5353b68105f | 43 | }; |
ykuroda | 3:d5353b68105f | 44 | |
ykuroda | 3:d5353b68105f | 45 | |
ykuroda | 3:d5353b68105f | 46 | #endif /* _SCI_H */ |