comment
Dependencies: BufferedSerial mbed
main.cpp@0:04be5c796c7a, 2015-10-08 (annotated)
- Committer:
- rrom
- Date:
- Thu Oct 08 13:23:15 2015 +0000
- Revision:
- 0:04be5c796c7a
comment
Who changed what in which revision?
User | Revision | Line number | New 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 | } |