Simply UART communication for STM32F0 Discovery using mbed. Received char is sent back to the computer.
Dependencies: mbed
main.cpp@0:0fb9dd105439, 2015-03-13 (annotated)
- Committer:
- krepemar
- Date:
- Fri Mar 13 09:43:37 2015 +0000
- Revision:
- 0:0fb9dd105439
- Child:
- 1:2cae2115481a
UART Nucleo F303RE, reverse sending
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
krepemar | 0:0fb9dd105439 | 1 | #include "mbed.h" |
krepemar | 0:0fb9dd105439 | 2 | |
krepemar | 0:0fb9dd105439 | 3 | //------------------------------------ |
krepemar | 0:0fb9dd105439 | 4 | // Hyperterminal configuration |
krepemar | 0:0fb9dd105439 | 5 | // 9600 bauds, 8-bit data, no parity |
krepemar | 0:0fb9dd105439 | 6 | //------------------------------------ |
krepemar | 0:0fb9dd105439 | 7 | |
krepemar | 0:0fb9dd105439 | 8 | //SERIAL_TX=PA_2/PA_9 Discovery |
krepemar | 0:0fb9dd105439 | 9 | //SERIAL_RX=PA_3/PA_10 Discovery |
krepemar | 0:0fb9dd105439 | 10 | Serial pc(PA_2, PA_3); |
krepemar | 0:0fb9dd105439 | 11 | |
krepemar | 0:0fb9dd105439 | 12 | DigitalOut myled(PC_8); |
krepemar | 0:0fb9dd105439 | 13 | char buffer[255]; |
krepemar | 0:0fb9dd105439 | 14 | int prijato=0; |
krepemar | 0:0fb9dd105439 | 15 | |
krepemar | 0:0fb9dd105439 | 16 | void serialRx() |
krepemar | 0:0fb9dd105439 | 17 | { |
krepemar | 0:0fb9dd105439 | 18 | while(pc.readable()) { |
krepemar | 0:0fb9dd105439 | 19 | char c=pc.getc(); |
krepemar | 0:0fb9dd105439 | 20 | buffer[prijato++]=c; |
krepemar | 0:0fb9dd105439 | 21 | } |
krepemar | 0:0fb9dd105439 | 22 | } |
krepemar | 0:0fb9dd105439 | 23 | |
krepemar | 0:0fb9dd105439 | 24 | int main() |
krepemar | 0:0fb9dd105439 | 25 | { |
krepemar | 0:0fb9dd105439 | 26 | int i = 1; |
krepemar | 0:0fb9dd105439 | 27 | pc.printf("Program started !\n"); |
krepemar | 0:0fb9dd105439 | 28 | pc.attach(&serialRx,Serial::RxIrq); |
krepemar | 0:0fb9dd105439 | 29 | while(1) { |
krepemar | 0:0fb9dd105439 | 30 | while(prijato) { |
krepemar | 0:0fb9dd105439 | 31 | pc.printf("Prisel znak: %c (%d).\n", buffer[prijato-1],(int)buffer[prijato-1]); |
krepemar | 0:0fb9dd105439 | 32 | prijato--; |
krepemar | 0:0fb9dd105439 | 33 | } |
krepemar | 0:0fb9dd105439 | 34 | wait(1); |
krepemar | 0:0fb9dd105439 | 35 | pc.printf("This program runs since %d seconds.\n", i++); |
krepemar | 0:0fb9dd105439 | 36 | myled = !myled; |
krepemar | 0:0fb9dd105439 | 37 | } |
krepemar | 0:0fb9dd105439 | 38 | } |