Hajime Muraki
/
program_SensorBlock
sensor
Fork of program_SensorBlock by
Embed:
(wiki syntax)
Show/hide line numbers
usart.cpp
00001 #include "mbed.h" 00002 00003 #define KEYCODE 0xAA 00004 #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]) 00005 #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]) 00006 #define DATA_NUM 12 00007 #define CHECK (DATA_NUM - 1) 00008 #define ALL_IR 12 00009 #define ALL_PING 4 00010 #define ALL_LINE 4 00011 00012 00013 00014 extern Serial sensor; 00015 extern Serial pc; 00016 extern unsigned int value_ping[ALL_PING]; 00017 extern unsigned int value_ir[ALL_IR]; 00018 extern unsigned int value_ir_min; 00019 extern unsigned int ir_min_num; 00020 extern unsigned int value_line[ALL_LINE]; 00021 extern unsigned int value_compass[2]; 00022 /* 00023 void micon_rx(){ 00024 00025 static uint8_t rx; 00026 static uint8_t rx_data[DATA_NUM]; 00027 00028 rx_data[rx] = sensor.getc(); 00029 00030 if(rx_data[0] == KEYCODE){ 00031 rx++; 00032 } 00033 00034 if(rx >= DATA_NUM){ 00035 if(rx_data[CHECK] == RX_CHECKCODE){ 00036 pc.printf("%d %d %d %d %d\n", rx_data[1], rx_data[2], rx_data[3], rx_data[4], rx_data[5]); 00037 } 00038 rx = 0; 00039 } 00040 00041 } 00042 */ 00043 00044 void micon_tx(){ 00045 00046 static uint8_t tx; 00047 static uint8_t tx_data[DATA_NUM]; 00048 00049 if(tx >= DATA_NUM){ 00050 tx_data[0] = KEYCODE; 00051 tx_data[1] = value_ir_min; 00052 tx_data[2] = ir_min_num; 00053 tx_data[3] = value_ping[0]; 00054 tx_data[4] = value_ping[1]; 00055 tx_data[5] = value_ping[2]; 00056 tx_data[6] = value_ping[3]; 00057 /* tx_data[7] = value_line[0]; 00058 tx_data[8] = value_line[1]; 00059 tx_data[9] = value_line[2]; 00060 tx_data[10] = value_line[3]; 00061 */ 00062 tx_data[7] = value_compass[0]; 00063 tx_data[8] = value_compass[1]; 00064 tx_data[9] = value_ir[10]; 00065 tx_data[10] = value_ir[11]; 00066 tx_data[11] = TX_CHECKCODE; 00067 00068 tx = 0; 00069 } 00070 00071 00072 sensor.putc(tx_data[tx]); 00073 //pc.printf("%d\n", tx_data[tx]); 00074 tx++; 00075 //wait(0.1); 00076 }
Generated on Wed Jul 20 2022 02:07:43 by 1.7.2