中継機能つけた受け取りオムニ
Dependencies: mbed MultiSerial
main.cpp@1:5d4aec3f0651, 2014-08-19 (annotated)
- Committer:
- Hatter
- Date:
- Tue Aug 19 11:23:11 2014 +0000
- Revision:
- 1:5d4aec3f0651
- Parent:
- 0:fddd018033fb
- Child:
- 2:d0de0fab161f
1byte???????????
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Hatter | 0:fddd018033fb | 1 | /* |
Hatter | 0:fddd018033fb | 2 | * 4WD_OMNI_simple by Tomoki Hokida |
Hatter | 0:fddd018033fb | 3 | * Simple Type |
Hatter | 0:fddd018033fb | 4 | * |
Hatter | 0:fddd018033fb | 5 | * motor pins piar |
Hatter | 0:fddd018033fb | 6 | * motor(p21,p22):motor(p23,p24) |
Hatter | 0:fddd018033fb | 7 | * motor(p25,p26):motor(p27,p28) |
Hatter | 0:fddd018033fb | 8 | * 通信中継用 |
Hatter | 0:fddd018033fb | 9 | * data 5~8 arm |
Hatter | 0:fddd018033fb | 10 | * data 1~4:omni |
Hatter | 0:fddd018033fb | 11 | * reset 0 |
Hatter | 0:fddd018033fb | 12 | */ |
Hatter | 0:fddd018033fb | 13 | |
Hatter | 0:fddd018033fb | 14 | #include "mbed.h" |
Hatter | 0:fddd018033fb | 15 | #include <math.h> |
Hatter | 0:fddd018033fb | 16 | #include "RawSerial.h" |
Hatter | 0:fddd018033fb | 17 | |
Hatter | 0:fddd018033fb | 18 | DigitalOut check(LED1); |
Hatter | 0:fddd018033fb | 19 | BusOut motors(p21,p22,p23,p24,p25,p26,p27,p28); |
Hatter | 0:fddd018033fb | 20 | |
Hatter | 0:fddd018033fb | 21 | I2C armMbed(p9,p10); |
Hatter | 0:fddd018033fb | 22 | RawSerial xbee(p13,p14); |
Hatter | 0:fddd018033fb | 23 | |
Hatter | 0:fddd018033fb | 24 | //i2c init |
Hatter | 0:fddd018033fb | 25 | |
Hatter | 0:fddd018033fb | 26 | int addr = 0x01; |
Hatter | 0:fddd018033fb | 27 | char buff[1]; |
Hatter | 0:fddd018033fb | 28 | |
Hatter | 0:fddd018033fb | 29 | uint8_t value=0; |
Hatter | 0:fddd018033fb | 30 | uint8_t omni_value=0; |
Hatter | 0:fddd018033fb | 31 | |
Hatter | 0:fddd018033fb | 32 | //armMbed.frequency(10000); |
Hatter | 0:fddd018033fb | 33 | |
Hatter | 0:fddd018033fb | 34 | void getData() //serial xbee to mbed |
Hatter | 0:fddd018033fb | 35 | { |
Hatter | 0:fddd018033fb | 36 | value = xbee.getc(); |
Hatter | 1:5d4aec3f0651 | 37 | |
Hatter | 0:fddd018033fb | 38 | buff[0]=value>>4; |
Hatter | 0:fddd018033fb | 39 | omni_value=value<<4; |
Hatter | 0:fddd018033fb | 40 | armMbed.write(addr,buff,1); |
Hatter | 0:fddd018033fb | 41 | } |
Hatter | 0:fddd018033fb | 42 | |
Hatter | 0:fddd018033fb | 43 | int main() |
Hatter | 0:fddd018033fb | 44 | { |
Hatter | 0:fddd018033fb | 45 | xbee.attach(&getData, Serial::RxIrq); |
Hatter | 0:fddd018033fb | 46 | |
Hatter | 0:fddd018033fb | 47 | for(;;){ |
Hatter | 0:fddd018033fb | 48 | if(omni_value==0x0) motors = 0; |
Hatter | 0:fddd018033fb | 49 | if(omni_value&0x10) motors = 0x05; //p21,p23 |
Hatter | 0:fddd018033fb | 50 | if(omni_value&0x20) motors = 0x0A; //p22,p24 |
Hatter | 0:fddd018033fb | 51 | if(omni_value&0x40) motors = 0x50; //p25,p27 |
Hatter | 0:fddd018033fb | 52 | if(omni_value&0x80) motors = 0xA0; //p26,p28 |
Hatter | 0:fddd018033fb | 53 | |
Hatter | 0:fddd018033fb | 54 | check = !check; |
Hatter | 0:fddd018033fb | 55 | } |
Hatter | 0:fddd018033fb | 56 | } |