![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
Simple UART0 usage with SimpleLib
main.cpp@1:6a9f5827b72e, 2010-11-13 (annotated)
- Committer:
- Alkorin
- Date:
- Sat Nov 13 11:21:01 2010 +0000
- Revision:
- 1:6a9f5827b72e
- Parent:
- 0:60e8d7bb5545
- Child:
- 2:d367033913a2
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Alkorin | 1:6a9f5827b72e | 1 | #include "mbed.h" |
Alkorin | 1:6a9f5827b72e | 2 | |
Alkorin | 1:6a9f5827b72e | 3 | #include "mbed_globals.h" |
Alkorin | 1:6a9f5827b72e | 4 | #include "interrupts.h" |
Alkorin | 1:6a9f5827b72e | 5 | #include "serial.h" |
Alkorin | 1:6a9f5827b72e | 6 | #include "leds.h" |
Alkorin | 1:6a9f5827b72e | 7 | |
Alkorin | 1:6a9f5827b72e | 8 | Serial pc(USBTX, USBRX); |
Alkorin | 1:6a9f5827b72e | 9 | |
Alkorin | 1:6a9f5827b72e | 10 | void serialOut(unsigned char c) { |
Alkorin | 1:6a9f5827b72e | 11 | SERIAL_PUTCHAR(c); |
Alkorin | 1:6a9f5827b72e | 12 | } |
Alkorin | 1:6a9f5827b72e | 13 | |
Alkorin | 1:6a9f5827b72e | 14 | void serialOutString(const char * c) { |
Alkorin | 1:6a9f5827b72e | 15 | while (*c) { |
Alkorin | 1:6a9f5827b72e | 16 | SERIAL_PUTCHAR(*c); |
Alkorin | 1:6a9f5827b72e | 17 | c++; |
Alkorin | 1:6a9f5827b72e | 18 | } |
Alkorin | 1:6a9f5827b72e | 19 | } |
Alkorin | 1:6a9f5827b72e | 20 | |
Alkorin | 1:6a9f5827b72e | 21 | SERIAL_INTERRUPT_HANDLER(void) { |
Alkorin | 1:6a9f5827b72e | 22 | // Check if interrupt is pending |
Alkorin | 1:6a9f5827b72e | 23 | if(!SERIAL_CHECK_INTERRUPT()) |
Alkorin | 1:6a9f5827b72e | 24 | return; |
Alkorin | 1:6a9f5827b72e | 25 | |
Alkorin | 1:6a9f5827b72e | 26 | // While some data to read |
Alkorin | 1:6a9f5827b72e | 27 | while (SERIAL_DATA_TO_READ()) { |
Alkorin | 1:6a9f5827b72e | 28 | char c = SERIAL_GETCHAR(); |
Alkorin | 1:6a9f5827b72e | 29 | serialOut('['); |
Alkorin | 1:6a9f5827b72e | 30 | serialOut(c); |
Alkorin | 1:6a9f5827b72e | 31 | serialOut(']'); |
Alkorin | 1:6a9f5827b72e | 32 | } |
Alkorin | 1:6a9f5827b72e | 33 | } |
Alkorin | 1:6a9f5827b72e | 34 | |
Alkorin | 1:6a9f5827b72e | 35 | int main() { |
Alkorin | 1:6a9f5827b72e | 36 | // Hardware Init |
Alkorin | 1:6a9f5827b72e | 37 | // SERIAL_INIT(); |
Alkorin | 1:6a9f5827b72e | 38 | // SERIAL_SETBAUD(9600); |
Alkorin | 1:6a9f5827b72e | 39 | pc.baud(9600); |
Alkorin | 1:6a9f5827b72e | 40 | SERIAL_ENABLE_INTERRUPT(SERIAL_INT_RX); |
Alkorin | 1:6a9f5827b72e | 41 | |
Alkorin | 1:6a9f5827b72e | 42 | serialOutString("Simple UART Sample Code\r\n"); |
Alkorin | 1:6a9f5827b72e | 43 | |
Alkorin | 1:6a9f5827b72e | 44 | while (1); |
Alkorin | 0:60e8d7bb5545 | 45 | } |