Simply UART communication for STM32F0 Discovery using mbed. Received char is sent back to the computer.

Dependencies:   mbed

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?

UserRevisionLine numberNew 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 }