Kiyoshi Hayakawa
/
lux-1data-Xbee-API
KEIS
main.cpp
- Committer:
- khayakawa
- Date:
- 2013-10-02
- Revision:
- 0:acb42df924ce
File content as of revision 0:acb42df924ce:
/* PC=router divce, mbed=cordinator */ /* */ /* */ #include "mbed.h" #include "C12832_lcd.h" Serial pc(USBTX, USBRX); // tx, rx Serial device(p9, p10); // tx, rx C12832_LCD lcd; DigitalOut myled(LED1); DigitalIn fire(p14); int pkt_phase=0; int pkt_count=0; char* ch[16]={"0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F"}; char v_val[2]; int num_Xbee=0; void dev_rx () { char val; int tmp1,tmp2; myled=1; val=device.getc(); pkt_count++; if(pkt_phase==0 && val==0x7E){ pkt_phase=1; pkt_count=1; } if(pkt_phase==1 && pkt_count==4){ if( val==0x92 ){ pkt_phase=2; }else{ pkt_count=0; pkt_phase=0; } } if(pkt_phase==2 && pkt_count==12){ if( val==0x77){ pkt_phase=3; }else{ pkt_count=0; pkt_phase=0; } } if(pkt_phase==3 && pkt_count==22){ pkt_phase=4; v_val[0]=val; } if(pkt_phase==4 && pkt_count==23){ pkt_phase=0; pkt_count=0; v_val[1]=val; lcd.locate(0,3); lcd.printf("v_val1:%x%x ",v_val[0],v_val[1]); } tmp1 = val/16; tmp2 = val%16; pc.printf("%s%s",ch[tmp1],ch[tmp2]); //wait(.2); myled=0; } int main() { lcd.cls(); lcd.locate(0,0); myled=0; // int sd_data_on[20]={0x7E,0x00,0x10,0x17,0x01,0x00,0x13,0xA2,0x00,0x40,0x92,0xFF,0x77,0xFF,0xFE,0x02,0x44,0x32,0x05,0x70}; // int sd_data_off[20]={0x7E,0x00,0x10,0x17,0x01,0x00,0x13,0xA2,0x00,0x40,0x92,0xFF,0x77,0xFF,0xFE,0x02,0x44,0x32,0x04,0x71}; device.attach(&dev_rx, Serial::RxIrq); }