中継機能つけた受け取りオムニ
Dependencies: mbed MultiSerial
Diff: main.cpp
- Revision:
- 8:ee465babfd98
- Parent:
- 7:07863c4a74b8
- Child:
- 9:f05f881226a3
--- a/main.cpp Mon Sep 01 02:06:55 2014 +0000 +++ b/main.cpp Wed Sep 03 06:25:23 2014 +0000 @@ -14,7 +14,7 @@ #include "mbed.h" #include "MultiSerial.h" -#define DATA_NUM 2 //DATA_NUM[byte]通信 +#define DATA_NUM 2 //DATA_NUM[byte]通信 この値はmemcpy使ってるんでxbee_packet構造体のメモリ数といい感じに合わせるようにしてください #define XBEE_KEY 0xAA//keycode #define ARM_KEY 0x0A @@ -23,13 +23,10 @@ BusOut motors(p21,p22,p23,p24,p25,p26,p27,p28); -//I2C armMbed(p9,p10); MultiSerial xbee(p13,p14); MultiSerial armMbed(p9,p10); -//armMbed.frequency(10000); - typedef struct{ uint8_t arm[1]; @@ -43,27 +40,24 @@ int main() { - //int val; xbee_packet *pt_packet=&packet; - - xbee.read(get_data,XBEE_KEY); - armMbed.write(pt_packet->arm,ARM_KEY); for(;;){ - // xbee.baud(1200); + + check = !check; + + xbee.read(get_data,XBEE_KEY); memcpy(&packet, get_data, DATA_NUM); //ちょい危険 + armMbed.write(pt_packet->arm,ARM_KEY); + if(packet.leg==0x0) motors = 0; - if(packet.leg&0x10) motors = 0x05; //p21,p23 - if(packet.leg&0x20) motors = 0x0A; //p22,p24 - if(packet.leg&0x40) motors = 0x50; //p25,p27 - if(packet.leg&0x80) motors = 0xA0; //p26,p28 - -// val = armMbed.write(slave_addr,pt_packet->arm,1); -// if(!val) i2c_check = 1; else i2c_check = 0; - - check = !check; + if(packet.leg&0x1) motors = 0x05; //p21,p23 + if(packet.leg&0x2) motors = 0x0A; //p22,p24 + if(packet.leg&0x4) motors = 0x50; //p25,p27 + if(packet.leg&0x8) motors = 0xA0; //p26,p28 + } } \ No newline at end of file