Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of iSerial by
iSerial.h@5:d83fc550ccbc, 2012-09-03 (annotated)
- Committer:
- ykuroda
- Date:
- Mon Sep 03 11:18:05 2012 +0000
- Revision:
- 5:d83fc550ccbc
- Parent:
- 4:b38ef9675d39
- Child:
- 6:8d4b95b90c3b
Now support both LPC1768 and LPC11U24. But it can be used for USBTX/USBRX. Others are unchecked.;
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 | 5:d83fc550ccbc | 19 | PinName tx; |
| ykuroda | 5:d83fc550ccbc | 20 | PinName rx; |
| ykuroda | 4:b38ef9675d39 | 21 | const int txbufsize; |
| ykuroda | 4:b38ef9675d39 | 22 | const int rxbufsize; |
| ykuroda | 3:d5353b68105f | 23 | RingBuffer txbuf; |
| ykuroda | 3:d5353b68105f | 24 | RingBuffer rxbuf; |
| ykuroda | 4:b38ef9675d39 | 25 | char* str; |
| ykuroda | 3:d5353b68105f | 26 | |
| ykuroda | 3:d5353b68105f | 27 | void tx_handler(void); |
| ykuroda | 3:d5353b68105f | 28 | void rx_handler(void); |
| ykuroda | 5:d83fc550ccbc | 29 | void enable_uart_irq(void); |
| ykuroda | 3:d5353b68105f | 30 | |
| ykuroda | 3:d5353b68105f | 31 | public: |
| ykuroda | 3:d5353b68105f | 32 | |
| ykuroda | 3:d5353b68105f | 33 | enum TERMINL_CODES { CR=0x0D, LF=0x0A }; |
| ykuroda | 3:d5353b68105f | 34 | |
| ykuroda | 3:d5353b68105f | 35 | iSerial(PinName _tx, PinName _rx, const char *_name=NULL, int _txbufsize=100, int _rxbufsize=100); |
| ykuroda | 4:b38ef9675d39 | 36 | virtual ~iSerial(); |
| ykuroda | 3:d5353b68105f | 37 | |
| ykuroda | 3:d5353b68105f | 38 | short int putstr(const char* s); |
| ykuroda | 3:d5353b68105f | 39 | |
| ykuroda | 4:b38ef9675d39 | 40 | int readable(void); |
| ykuroda | 4:b38ef9675d39 | 41 | int getc(void); |
| ykuroda | 4:b38ef9675d39 | 42 | void putc(short ch); |
| ykuroda | 3:d5353b68105f | 43 | short int puts(const char* s); |
| ykuroda | 4:b38ef9675d39 | 44 | //void printf(); |
| ykuroda | 4:b38ef9675d39 | 45 | char* printf(const char* format, ...); |
| ykuroda | 3:d5353b68105f | 46 | }; |
| ykuroda | 3:d5353b68105f | 47 | |
| ykuroda | 3:d5353b68105f | 48 | |
| ykuroda | 3:d5353b68105f | 49 | #endif /* _SCI_H */ |
