あああ
Dependencies: HMC6352 Ping mbed
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]^tx_data[9]) 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]^rx_data[9]) 00006 #define DATA_NUM 11 00007 #define CHECK (DATA_NUM - 1) 00008 #define ALL_IR 11 00009 00010 00011 extern Serial sensor; 00012 extern Serial pc; 00013 extern uint8_t ping_data[4]; 00014 extern uint8_t ir_min; 00015 extern uint8_t ir_num; 00016 extern uint8_t ir_main; 00017 extern uint8_t compass_data[2]; 00018 /* 00019 void micon_rx(){ 00020 00021 static uint8_t rx; 00022 static uint8_t rx_data[DATA_NUM]; 00023 00024 rx_data[rx] = sensor.getc(); 00025 00026 if(rx_data[0] == KEYCODE){ 00027 rx++; 00028 } 00029 00030 if(rx >= DATA_NUM){ 00031 if(rx_data[CHECK] == RX_CHECKCODE){ 00032 pc.printf("%d %d %d %d %d\n", rx_data[1], rx_data[2], rx_data[3], rx_data[4], rx_data[5]); 00033 } 00034 rx = 0; 00035 } 00036 00037 } 00038 */ 00039 void micon_tx(){ 00040 00041 static uint8_t tx; 00042 static uint8_t tx_data[DATA_NUM]; 00043 00044 if(tx >= DATA_NUM){ 00045 tx_data[0] = KEYCODE; 00046 tx_data[1] = ir_min; 00047 tx_data[2] = ir_num; 00048 tx_data[3] = ping_data[0]; 00049 tx_data[4] = ping_data[1]; 00050 tx_data[5] = ping_data[2]; 00051 tx_data[6] = ping_data[3]; 00052 tx_data[7] = compass_data[0]; 00053 tx_data[8] = compass_data[1]; 00054 tx_data[9] = ir_main; 00055 tx_data[10] = TX_CHECKCODE; 00056 00057 tx = 0; 00058 } 00059 00060 00061 sensor.putc(tx_data[tx]); 00062 //pc.printf("%d\n", tx_data[tx]); 00063 tx++; 00064 //wait(0.1); 00065 }
Generated on Mon Aug 8 2022 13:51:04 by 1.7.2