Hotboards MX
/
PROTOCOLO
template for serial protocol
main.cpp@1:0fec28dd7cd1, 2016-06-22 (annotated)
- Committer:
- Hotboards
- Date:
- Wed Jun 22 18:19:35 2016 +0000
- Revision:
- 1:0fec28dd7cd1
- Parent:
- 0:ed82bc2dec29
second release
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Hotboards | 0:ed82bc2dec29 | 1 | #include "mbed.h" |
Hotboards | 0:ed82bc2dec29 | 2 | |
Hotboards | 0:ed82bc2dec29 | 3 | Serial device(PC_10,PC_11); // Puerto serial para comunicar con modulo WIFI |
Hotboards | 0:ed82bc2dec29 | 4 | Serial pc(USBTX,USBRX); // Puerto serial para comunicar con la pc |
Hotboards | 0:ed82bc2dec29 | 5 | |
Hotboards | 0:ed82bc2dec29 | 6 | int rxCount = 0; |
Hotboards | 0:ed82bc2dec29 | 7 | int rcvFlag = 0; |
Hotboards | 0:ed82bc2dec29 | 8 | char rxbuff[64]; |
Hotboards | 0:ed82bc2dec29 | 9 | |
Hotboards | 0:ed82bc2dec29 | 10 | DigitalOut led(LED1); |
Hotboards | 0:ed82bc2dec29 | 11 | |
Hotboards | 0:ed82bc2dec29 | 12 | void sISR() |
Hotboards | 0:ed82bc2dec29 | 13 | { |
Hotboards | 0:ed82bc2dec29 | 14 | //while (device.readable()) |
Hotboards | 0:ed82bc2dec29 | 15 | //{ |
Hotboards | 0:ed82bc2dec29 | 16 | rxbuff[rxCount] = device.getc(); // dato recibido se almacena en rxbuff |
Hotboards | 0:ed82bc2dec29 | 17 | rxCount++; |
Hotboards | 0:ed82bc2dec29 | 18 | //} |
Hotboards | 0:ed82bc2dec29 | 19 | |
Hotboards | 0:ed82bc2dec29 | 20 | if(rxCount >=6) |
Hotboards | 0:ed82bc2dec29 | 21 | { |
Hotboards | 0:ed82bc2dec29 | 22 | |
Hotboards | 0:ed82bc2dec29 | 23 | if((rxbuff[0]== 0x53)&&(rxbuff[1]==0x54)) |
Hotboards | 0:ed82bc2dec29 | 24 | { |
Hotboards | 0:ed82bc2dec29 | 25 | rcvFlag = 1; |
Hotboards | 0:ed82bc2dec29 | 26 | } |
Hotboards | 0:ed82bc2dec29 | 27 | else |
Hotboards | 0:ed82bc2dec29 | 28 | { |
Hotboards | 0:ed82bc2dec29 | 29 | memset(rxbuff, '\0', sizeof(rxbuff)); |
Hotboards | 0:ed82bc2dec29 | 30 | rxCount = 0; |
Hotboards | 0:ed82bc2dec29 | 31 | } |
Hotboards | 0:ed82bc2dec29 | 32 | } |
Hotboards | 0:ed82bc2dec29 | 33 | } |
Hotboards | 0:ed82bc2dec29 | 34 | |
Hotboards | 0:ed82bc2dec29 | 35 | int main() { |
Hotboards | 0:ed82bc2dec29 | 36 | |
Hotboards | 0:ed82bc2dec29 | 37 | device.baud(9600); // configuramos ambos puertos a 115200 bps |
Hotboards | 0:ed82bc2dec29 | 38 | pc.baud(115200); |
Hotboards | 0:ed82bc2dec29 | 39 | |
Hotboards | 0:ed82bc2dec29 | 40 | device.attach(&sISR); // habilita recepcion por interrupcion serial |
Hotboards | 0:ed82bc2dec29 | 41 | |
Hotboards | 0:ed82bc2dec29 | 42 | while(1) |
Hotboards | 0:ed82bc2dec29 | 43 | |
Hotboards | 0:ed82bc2dec29 | 44 | { |
Hotboards | 0:ed82bc2dec29 | 45 | |
Hotboards | 0:ed82bc2dec29 | 46 | if(rcvFlag ==1) |
Hotboards | 0:ed82bc2dec29 | 47 | { |
Hotboards | 0:ed82bc2dec29 | 48 | led = !led; |
Hotboards | 0:ed82bc2dec29 | 49 | device.attach(NULL); |
Hotboards | 0:ed82bc2dec29 | 50 | |
Hotboards | 0:ed82bc2dec29 | 51 | switch(rxbuff[2]) |
Hotboards | 0:ed82bc2dec29 | 52 | { |
Hotboards | 0:ed82bc2dec29 | 53 | case 1: // leds |
Hotboards | 0:ed82bc2dec29 | 54 | { |
Hotboards | 0:ed82bc2dec29 | 55 | |
Hotboards | 0:ed82bc2dec29 | 56 | } |
Hotboards | 0:ed82bc2dec29 | 57 | break; |
Hotboards | 0:ed82bc2dec29 | 58 | |
Hotboards | 0:ed82bc2dec29 | 59 | case 2: |
Hotboards | 0:ed82bc2dec29 | 60 | { |
Hotboards | 0:ed82bc2dec29 | 61 | |
Hotboards | 0:ed82bc2dec29 | 62 | } |
Hotboards | 0:ed82bc2dec29 | 63 | break; |
Hotboards | 0:ed82bc2dec29 | 64 | |
Hotboards | 0:ed82bc2dec29 | 65 | |
Hotboards | 0:ed82bc2dec29 | 66 | case 3: //slider |
Hotboards | 0:ed82bc2dec29 | 67 | { |
Hotboards | 1:0fec28dd7cd1 | 68 | |
Hotboards | 1:0fec28dd7cd1 | 69 | int d1,d2,d3,val; |
Hotboards | 0:ed82bc2dec29 | 70 | |
Hotboards | 1:0fec28dd7cd1 | 71 | d1 = rxbuff[3]-48; |
Hotboards | 1:0fec28dd7cd1 | 72 | d2 = rxbuff[4]-48; |
Hotboards | 1:0fec28dd7cd1 | 73 | d3 = rxbuff[5]-48; |
Hotboards | 1:0fec28dd7cd1 | 74 | |
Hotboards | 1:0fec28dd7cd1 | 75 | val = (d1*100)+(d2*10)+d3; |
Hotboards | 1:0fec28dd7cd1 | 76 | |
Hotboards | 1:0fec28dd7cd1 | 77 | |
Hotboards | 1:0fec28dd7cd1 | 78 | |
Hotboards | 1:0fec28dd7cd1 | 79 | pc.printf("%d\r\n",val); |
Hotboards | 0:ed82bc2dec29 | 80 | } |
Hotboards | 0:ed82bc2dec29 | 81 | break; |
Hotboards | 0:ed82bc2dec29 | 82 | |
Hotboards | 0:ed82bc2dec29 | 83 | |
Hotboards | 0:ed82bc2dec29 | 84 | default:break; |
Hotboards | 0:ed82bc2dec29 | 85 | } |
Hotboards | 0:ed82bc2dec29 | 86 | |
Hotboards | 0:ed82bc2dec29 | 87 | |
Hotboards | 0:ed82bc2dec29 | 88 | |
Hotboards | 0:ed82bc2dec29 | 89 | |
Hotboards | 0:ed82bc2dec29 | 90 | memset(rxbuff, '\0', sizeof(rxbuff)); |
Hotboards | 0:ed82bc2dec29 | 91 | rxCount = 0; |
Hotboards | 0:ed82bc2dec29 | 92 | rcvFlag = 0; |
Hotboards | 0:ed82bc2dec29 | 93 | device.attach(&sISR); // habilita recepcion por interrupcion serial |
Hotboards | 0:ed82bc2dec29 | 94 | |
Hotboards | 0:ed82bc2dec29 | 95 | } |
Hotboards | 0:ed82bc2dec29 | 96 | |
Hotboards | 0:ed82bc2dec29 | 97 | } |
Hotboards | 0:ed82bc2dec29 | 98 | } |