Hotboards MX
/
PROTOCOLO
template for serial protocol
main.cpp
- Committer:
- Hotboards
- Date:
- 2016-06-22
- Revision:
- 1:0fec28dd7cd1
- Parent:
- 0:ed82bc2dec29
File content as of revision 1:0fec28dd7cd1:
#include "mbed.h" Serial device(PC_10,PC_11); // Puerto serial para comunicar con modulo WIFI Serial pc(USBTX,USBRX); // Puerto serial para comunicar con la pc int rxCount = 0; int rcvFlag = 0; char rxbuff[64]; DigitalOut led(LED1); void sISR() { //while (device.readable()) //{ rxbuff[rxCount] = device.getc(); // dato recibido se almacena en rxbuff rxCount++; //} if(rxCount >=6) { if((rxbuff[0]== 0x53)&&(rxbuff[1]==0x54)) { rcvFlag = 1; } else { memset(rxbuff, '\0', sizeof(rxbuff)); rxCount = 0; } } } int main() { device.baud(9600); // configuramos ambos puertos a 115200 bps pc.baud(115200); device.attach(&sISR); // habilita recepcion por interrupcion serial while(1) { if(rcvFlag ==1) { led = !led; device.attach(NULL); switch(rxbuff[2]) { case 1: // leds { } break; case 2: { } break; case 3: //slider { int d1,d2,d3,val; d1 = rxbuff[3]-48; d2 = rxbuff[4]-48; d3 = rxbuff[5]-48; val = (d1*100)+(d2*10)+d3; pc.printf("%d\r\n",val); } break; default:break; } memset(rxbuff, '\0', sizeof(rxbuff)); rxCount = 0; rcvFlag = 0; device.attach(&sISR); // habilita recepcion por interrupcion serial } } }