version 3 通信方式,マイコン等に変更あり

Dependencies:   AQM0802A PID Servo mbed

Committer:
ryuna
Date:
Tue Mar 10 08:28:15 2015 +0000
Revision:
2:e84bb87eea71
???

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ryuna 2:e84bb87eea71 1 #include "mbed.h"
ryuna 2:e84bb87eea71 2
ryuna 2:e84bb87eea71 3
ryuna 2:e84bb87eea71 4 #define KEYCODE 0xAA
ryuna 2:e84bb87eea71 5 #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]^tx_data[10])
ryuna 2:e84bb87eea71 6 #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]^tx_data[10])
ryuna 2:e84bb87eea71 7 #define DATA_NUM 11
ryuna 2:e84bb87eea71 8 #define CHECK (DATA_NUM - 1)
ryuna 2:e84bb87eea71 9
ryuna 2:e84bb87eea71 10
ryuna 2:e84bb87eea71 11 extern Serial sensor;
ryuna 2:e84bb87eea71 12 extern Serial pc;
ryuna 2:e84bb87eea71 13
ryuna 2:e84bb87eea71 14 extern uint8_t ping[4];
ryuna 2:e84bb87eea71 15
ryuna 2:e84bb87eea71 16
ryuna 2:e84bb87eea71 17
ryuna 2:e84bb87eea71 18 void micon_rx(){
ryuna 2:e84bb87eea71 19
ryuna 2:e84bb87eea71 20 static uint8_t rx;
ryuna 2:e84bb87eea71 21 static int rx_data[DATA_NUM];
ryuna 2:e84bb87eea71 22
ryuna 2:e84bb87eea71 23 rx_data[rx] = sensor.getc();
ryuna 2:e84bb87eea71 24
ryuna 2:e84bb87eea71 25 if(rx_data[0] == KEYCODE){
ryuna 2:e84bb87eea71 26 rx++;
ryuna 2:e84bb87eea71 27 }
ryuna 2:e84bb87eea71 28
ryuna 2:e84bb87eea71 29 if(rx >= DATA_NUM){
ryuna 2:e84bb87eea71 30 if(rx_data[CHECK] == RX_CHECKCODE){
ryuna 2:e84bb87eea71 31 ir_min = rx_data[1];
ryuna 2:e84bb87eea71 32 ir_num = rx_data[2];
ryuna 2:e84bb87eea71 33 ping[FRONT] = rx_data[3];
ryuna 2:e84bb87eea71 34 ping[LEFT] = rx_data[4];
ryuna 2:e84bb87eea71 35 ping[BACK] = rx_data[5];
ryuna 2:e84bb87eea71 36 ping[RIGHT] = rx_data[6];
ryuna 2:e84bb87eea71 37 compass = rx_data[7] + rx_data[8];
ryuna 2:e84bb87eea71 38 ir_main = rx_data[9];
ryuna 2:e84bb87eea71 39 //pc.printf("compass: %d\n",compass);
ryuna 2:e84bb87eea71 40
ryuna 2:e84bb87eea71 41 }
ryuna 2:e84bb87eea71 42 rx = 0;
ryuna 2:e84bb87eea71 43 }
ryuna 2:e84bb87eea71 44
ryuna 2:e84bb87eea71 45 //pc.printf("%d\n", rx_data[rx]);
ryuna 2:e84bb87eea71 46 }