右側のほうのセンサLPC1114FN28 fumiya版
Dependencies: IRM2121_2 Ping mbed HMC6352 Watchdog
Fork of CatPot_SensorRight by
usart.cpp@16:83721dac1049, 2015-03-11 (annotated)
- Committer:
- ryuna
- Date:
- Wed Mar 11 01:03:39 2015 +0000
- Revision:
- 16:83721dac1049
without multiserial;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
ryuna | 16:83721dac1049 | 1 | #include "mbed.h" |
ryuna | 16:83721dac1049 | 2 | |
ryuna | 16:83721dac1049 | 3 | #define KEYCODE 0xAA |
ryuna | 16:83721dac1049 | 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 | 16:83721dac1049 | 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 | 16:83721dac1049 | 6 | #define DATA_NUM 11 |
ryuna | 16:83721dac1049 | 7 | #define CHECK (DATA_NUM - 1) |
ryuna | 16:83721dac1049 | 8 | |
ryuna | 16:83721dac1049 | 9 | |
ryuna | 16:83721dac1049 | 10 | extern Serial Mbed; |
ryuna | 16:83721dac1049 | 11 | extern Serial pc; |
ryuna | 16:83721dac1049 | 12 | extern uint8_t PingData[4]; |
ryuna | 16:83721dac1049 | 13 | extern uint8_t IrData[3]; |
ryuna | 16:83721dac1049 | 14 | extern uint8_t CompassData[2]; |
ryuna | 16:83721dac1049 | 15 | /* |
ryuna | 16:83721dac1049 | 16 | void micon_rx(){ |
ryuna | 16:83721dac1049 | 17 | |
ryuna | 16:83721dac1049 | 18 | static uint8_t rx; |
ryuna | 16:83721dac1049 | 19 | static uint8_t rx_data[DATA_NUM]; |
ryuna | 16:83721dac1049 | 20 | |
ryuna | 16:83721dac1049 | 21 | rx_data[rx] = sensor.getc(); |
ryuna | 16:83721dac1049 | 22 | |
ryuna | 16:83721dac1049 | 23 | if(rx_data[0] == KEYCODE){ |
ryuna | 16:83721dac1049 | 24 | rx++; |
ryuna | 16:83721dac1049 | 25 | } |
ryuna | 16:83721dac1049 | 26 | |
ryuna | 16:83721dac1049 | 27 | if(rx >= DATA_NUM){ |
ryuna | 16:83721dac1049 | 28 | if(rx_data[CHECK] == RX_CHECKCODE){ |
ryuna | 16:83721dac1049 | 29 | pc.printf("%d %d %d %d %d\n", rx_data[1], rx_data[2], rx_data[3], rx_data[4], rx_data[5]); |
ryuna | 16:83721dac1049 | 30 | } |
ryuna | 16:83721dac1049 | 31 | rx = 0; |
ryuna | 16:83721dac1049 | 32 | } |
ryuna | 16:83721dac1049 | 33 | |
ryuna | 16:83721dac1049 | 34 | } |
ryuna | 16:83721dac1049 | 35 | */ |
ryuna | 16:83721dac1049 | 36 | void micon_tx(){ |
ryuna | 16:83721dac1049 | 37 | |
ryuna | 16:83721dac1049 | 38 | static uint8_t tx; |
ryuna | 16:83721dac1049 | 39 | static uint8_t tx_data[DATA_NUM]; |
ryuna | 16:83721dac1049 | 40 | |
ryuna | 16:83721dac1049 | 41 | if(tx >= DATA_NUM){ |
ryuna | 16:83721dac1049 | 42 | |
ryuna | 16:83721dac1049 | 43 | tx_data[0] = KEYCODE; |
ryuna | 16:83721dac1049 | 44 | tx_data[1] = IrData[0]; |
ryuna | 16:83721dac1049 | 45 | tx_data[2] = IrData[1]; |
ryuna | 16:83721dac1049 | 46 | tx_data[3] = IrData[2]; |
ryuna | 16:83721dac1049 | 47 | tx_data[4] = PingData[0]; |
ryuna | 16:83721dac1049 | 48 | tx_data[5] = PingData[1]; |
ryuna | 16:83721dac1049 | 49 | tx_data[6] = PingData[2]; |
ryuna | 16:83721dac1049 | 50 | tx_data[7] = PingData[3]; |
ryuna | 16:83721dac1049 | 51 | tx_data[8] = CompassData[0]; |
ryuna | 16:83721dac1049 | 52 | tx_data[9] = CompassData[1]; |
ryuna | 16:83721dac1049 | 53 | tx_data[10] = TX_CHECKCODE; |
ryuna | 16:83721dac1049 | 54 | |
ryuna | 16:83721dac1049 | 55 | tx = 0; |
ryuna | 16:83721dac1049 | 56 | |
ryuna | 16:83721dac1049 | 57 | //pc.printf("%d %d %d %d\n",PingData[0],PingData[1],PingData[2],PingData[3]); |
ryuna | 16:83721dac1049 | 58 | } |
ryuna | 16:83721dac1049 | 59 | |
ryuna | 16:83721dac1049 | 60 | |
ryuna | 16:83721dac1049 | 61 | Mbed.putc(tx_data[tx]); |
ryuna | 16:83721dac1049 | 62 | tx++; |
ryuna | 16:83721dac1049 | 63 | //wait(0.1); |
ryuna | 16:83721dac1049 | 64 | } |