あああ
Dependencies: HMC6352 Ping mbed
usart.cpp@0:e742eb5a0f3e, 2015-02-25 (annotated)
- Committer:
- ryuna
- Date:
- Wed Feb 25 08:01:53 2015 +0000
- Revision:
- 0:e742eb5a0f3e
?????????sensor??
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
ryuna | 0:e742eb5a0f3e | 1 | #include "mbed.h" |
ryuna | 0:e742eb5a0f3e | 2 | |
ryuna | 0:e742eb5a0f3e | 3 | #define KEYCODE 0xAA |
ryuna | 0:e742eb5a0f3e | 4 | #define TX_CHECKCODE (tx_data[1]^tx_data[2]^tx_data[3]^tx_data[4]^tx_data[5]^tx_data[6]^tx_data[7]^tx_data[8]^tx_data[9]) |
ryuna | 0:e742eb5a0f3e | 5 | #define RX_CHECKCODE (rx_data[1]^rx_data[2]^rx_data[3]^rx_data[4]^rx_data[5]^rx_data[6]^rx_data[7]^rx_data[8]^rx_data[9]) |
ryuna | 0:e742eb5a0f3e | 6 | #define DATA_NUM 11 |
ryuna | 0:e742eb5a0f3e | 7 | #define CHECK (DATA_NUM - 1) |
ryuna | 0:e742eb5a0f3e | 8 | #define ALL_IR 11 |
ryuna | 0:e742eb5a0f3e | 9 | |
ryuna | 0:e742eb5a0f3e | 10 | |
ryuna | 0:e742eb5a0f3e | 11 | extern Serial sensor; |
ryuna | 0:e742eb5a0f3e | 12 | extern Serial pc; |
ryuna | 0:e742eb5a0f3e | 13 | extern uint8_t ping_data[4]; |
ryuna | 0:e742eb5a0f3e | 14 | extern uint8_t ir_min; |
ryuna | 0:e742eb5a0f3e | 15 | extern uint8_t ir_num; |
ryuna | 0:e742eb5a0f3e | 16 | extern uint8_t ir_main; |
ryuna | 0:e742eb5a0f3e | 17 | extern uint8_t compass_data[2]; |
ryuna | 0:e742eb5a0f3e | 18 | /* |
ryuna | 0:e742eb5a0f3e | 19 | void micon_rx(){ |
ryuna | 0:e742eb5a0f3e | 20 | |
ryuna | 0:e742eb5a0f3e | 21 | static uint8_t rx; |
ryuna | 0:e742eb5a0f3e | 22 | static uint8_t rx_data[DATA_NUM]; |
ryuna | 0:e742eb5a0f3e | 23 | |
ryuna | 0:e742eb5a0f3e | 24 | rx_data[rx] = sensor.getc(); |
ryuna | 0:e742eb5a0f3e | 25 | |
ryuna | 0:e742eb5a0f3e | 26 | if(rx_data[0] == KEYCODE){ |
ryuna | 0:e742eb5a0f3e | 27 | rx++; |
ryuna | 0:e742eb5a0f3e | 28 | } |
ryuna | 0:e742eb5a0f3e | 29 | |
ryuna | 0:e742eb5a0f3e | 30 | if(rx >= DATA_NUM){ |
ryuna | 0:e742eb5a0f3e | 31 | if(rx_data[CHECK] == RX_CHECKCODE){ |
ryuna | 0:e742eb5a0f3e | 32 | pc.printf("%d %d %d %d %d\n", rx_data[1], rx_data[2], rx_data[3], rx_data[4], rx_data[5]); |
ryuna | 0:e742eb5a0f3e | 33 | } |
ryuna | 0:e742eb5a0f3e | 34 | rx = 0; |
ryuna | 0:e742eb5a0f3e | 35 | } |
ryuna | 0:e742eb5a0f3e | 36 | |
ryuna | 0:e742eb5a0f3e | 37 | } |
ryuna | 0:e742eb5a0f3e | 38 | */ |
ryuna | 0:e742eb5a0f3e | 39 | void micon_tx(){ |
ryuna | 0:e742eb5a0f3e | 40 | |
ryuna | 0:e742eb5a0f3e | 41 | static uint8_t tx; |
ryuna | 0:e742eb5a0f3e | 42 | static uint8_t tx_data[DATA_NUM]; |
ryuna | 0:e742eb5a0f3e | 43 | |
ryuna | 0:e742eb5a0f3e | 44 | if(tx >= DATA_NUM){ |
ryuna | 0:e742eb5a0f3e | 45 | tx_data[0] = KEYCODE; |
ryuna | 0:e742eb5a0f3e | 46 | tx_data[1] = ir_min; |
ryuna | 0:e742eb5a0f3e | 47 | tx_data[2] = ir_num; |
ryuna | 0:e742eb5a0f3e | 48 | tx_data[3] = ping_data[0]; |
ryuna | 0:e742eb5a0f3e | 49 | tx_data[4] = ping_data[1]; |
ryuna | 0:e742eb5a0f3e | 50 | tx_data[5] = ping_data[2]; |
ryuna | 0:e742eb5a0f3e | 51 | tx_data[6] = ping_data[3]; |
ryuna | 0:e742eb5a0f3e | 52 | tx_data[7] = compass_data[0]; |
ryuna | 0:e742eb5a0f3e | 53 | tx_data[8] = compass_data[1]; |
ryuna | 0:e742eb5a0f3e | 54 | tx_data[9] = ir_main; |
ryuna | 0:e742eb5a0f3e | 55 | tx_data[10] = TX_CHECKCODE; |
ryuna | 0:e742eb5a0f3e | 56 | |
ryuna | 0:e742eb5a0f3e | 57 | tx = 0; |
ryuna | 0:e742eb5a0f3e | 58 | } |
ryuna | 0:e742eb5a0f3e | 59 | |
ryuna | 0:e742eb5a0f3e | 60 | |
ryuna | 0:e742eb5a0f3e | 61 | sensor.putc(tx_data[tx]); |
ryuna | 0:e742eb5a0f3e | 62 | //pc.printf("%d\n", tx_data[tx]); |
ryuna | 0:e742eb5a0f3e | 63 | tx++; |
ryuna | 0:e742eb5a0f3e | 64 | //wait(0.1); |
ryuna | 0:e742eb5a0f3e | 65 | } |