comment

Dependencies:   BufferedSerial mbed

Committer:
rrom
Date:
Thu Oct 08 13:23:15 2015 +0000
Revision:
0:04be5c796c7a
comment

Who changed what in which revision?

UserRevisionLine numberNew contents of line
rrom 0:04be5c796c7a 1 #include "mbed.h"
rrom 0:04be5c796c7a 2 #include "BufferedSerial.h"
rrom 0:04be5c796c7a 3 #include <stdio.h>
rrom 0:04be5c796c7a 4
rrom 0:04be5c796c7a 5 /*****************************************************************************/
rrom 0:04be5c796c7a 6 /* Define */
rrom 0:04be5c796c7a 7 /*****************************************************************************/
rrom 0:04be5c796c7a 8 #define DEBUG_CONSOLE
rrom 0:04be5c796c7a 9
rrom 0:04be5c796c7a 10 /*****************************************************************************/
rrom 0:04be5c796c7a 11 /* Objects declaration */
rrom 0:04be5c796c7a 12 /*****************************************************************************/
rrom 0:04be5c796c7a 13 //BufferedSerial pc(SERIAL_TX, SERIAL_RX); // Tx, Rx
rrom 0:04be5c796c7a 14 BufferedSerial pc(PA_9, PA_10); // Tx, Rx
rrom 0:04be5c796c7a 15
rrom 0:04be5c796c7a 16 DigitalOut myled(LED1);
rrom 0:04be5c796c7a 17
rrom 0:04be5c796c7a 18 InterruptIn mybutton(USER_BUTTON);
rrom 0:04be5c796c7a 19
rrom 0:04be5c796c7a 20 /*****************************************************************************/
rrom 0:04be5c796c7a 21 /* Globals variables */
rrom 0:04be5c796c7a 22 /*****************************************************************************/
rrom 0:04be5c796c7a 23 char rxData[4];
rrom 0:04be5c796c7a 24 char txData[5] = {'0','1','2','3','4'};
rrom 0:04be5c796c7a 25 uint8_t seq = 0;
rrom 0:04be5c796c7a 26
rrom 0:04be5c796c7a 27 /*****************************************************************************/
rrom 0:04be5c796c7a 28 /* Private functions prototypes */
rrom 0:04be5c796c7a 29 /*****************************************************************************/
rrom 0:04be5c796c7a 30 void send_and_receive_data(void);
rrom 0:04be5c796c7a 31
rrom 0:04be5c796c7a 32 /*****************************************************************************/
rrom 0:04be5c796c7a 33 /* Interrupt Functions */
rrom 0:04be5c796c7a 34 /*****************************************************************************/
rrom 0:04be5c796c7a 35
rrom 0:04be5c796c7a 36 /*****************************************************************************/
rrom 0:04be5c796c7a 37 /* Ticker Function */
rrom 0:04be5c796c7a 38 /*****************************************************************************/
rrom 0:04be5c796c7a 39 //Ticker EventEngine;
rrom 0:04be5c796c7a 40
rrom 0:04be5c796c7a 41 void send_and_receive_data(void)
rrom 0:04be5c796c7a 42 {
rrom 0:04be5c796c7a 43 myled = SET;
rrom 0:04be5c796c7a 44 if(seq < 4){
rrom 0:04be5c796c7a 45 if(pc.writeable()){
rrom 0:04be5c796c7a 46 pc.putc(txData[seq]);
rrom 0:04be5c796c7a 47 seq++;
rrom 0:04be5c796c7a 48 if(pc.readable()){
rrom 0:04be5c796c7a 49 rxData[0] = pc.getc();}
rrom 0:04be5c796c7a 50 }
rrom 0:04be5c796c7a 51 }
rrom 0:04be5c796c7a 52 else{
rrom 0:04be5c796c7a 53 seq = 0;
rrom 0:04be5c796c7a 54 }
rrom 0:04be5c796c7a 55
rrom 0:04be5c796c7a 56 myled = RESET;
rrom 0:04be5c796c7a 57
rrom 0:04be5c796c7a 58 return;
rrom 0:04be5c796c7a 59 }
rrom 0:04be5c796c7a 60
rrom 0:04be5c796c7a 61 //void EventFunction(void)
rrom 0:04be5c796c7a 62 //{
rrom 0:04be5c796c7a 63 // send_and_receive_data();
rrom 0:04be5c796c7a 64 //}
rrom 0:04be5c796c7a 65
rrom 0:04be5c796c7a 66 /*****************************************************************************/
rrom 0:04be5c796c7a 67 /* Main Function */
rrom 0:04be5c796c7a 68 /*****************************************************************************/
rrom 0:04be5c796c7a 69 int main()
rrom 0:04be5c796c7a 70 {
rrom 0:04be5c796c7a 71 pc.baud(9600);
rrom 0:04be5c796c7a 72 //EventEngine.attach(&EventFunction, 0.05); // 20 times/s
rrom 0:04be5c796c7a 73 mybutton.mode(PullUp);
rrom 0:04be5c796c7a 74
rrom 0:04be5c796c7a 75 // printf("\033[2J\033[1;1HNucleoF401\r\n");
rrom 0:04be5c796c7a 76
rrom 0:04be5c796c7a 77 myled = RESET;
rrom 0:04be5c796c7a 78
rrom 0:04be5c796c7a 79 // Endless loop!
rrom 0:04be5c796c7a 80 while(1) {
rrom 0:04be5c796c7a 81 // Wait Press and realase Button
rrom 0:04be5c796c7a 82 while(mybutton == SET);
rrom 0:04be5c796c7a 83 while(mybutton == RESET);
rrom 0:04be5c796c7a 84
rrom 0:04be5c796c7a 85 send_and_receive_data();
rrom 0:04be5c796c7a 86 }
rrom 0:04be5c796c7a 87 }