| | |
| | | UsartReceiveWaitChecksum |
| | | }UsartRecvPackState; |
| | | uint8_t mUsartReceivePack[100] = {0}; |
| | | uint8_t send_frame[200]; |
| | | void SendConfigConfirm(uint8_t pack_msgtype,uint8_t pack_length) |
| | | { |
| | | uint16_t checksum = 0; |
| | | send_frame[0] = 0x55; |
| | | send_frame[1] = 0xAA; |
| | | send_frame[2] = 0x09; |
| | | send_frame[3] = 8; |
| | | send_frame[4] = pack_msgtype; |
| | | send_frame[5] = pack_length; |
| | | |
| | | checksum = Checksum_u16(&send_frame[2],8); |
| | | memcpy(&send_frame[10],&checksum,2); |
| | | |
| | | UART_PushFrame(send_frame, 12); |
| | | } |
| | | void SendComMap(uint8_t data_length, uint8_t index) |
| | | { |
| | | static uint8_t send_frame[EUART_RX_BUF_SIZE]; |
| | | uint16_t checksum = 0; |
| | | send_frame[0] = 0x55; |
| | | send_frame[1] = 0xAA; |
| | |
| | | send_frame[5] = index; |
| | | send_frame[6] = data_length; |
| | | memcpy(&send_frame[7], &g_com_map[index>>1], data_length); |
| | | for(int i = 0; i<(data_length+5); i++) |
| | | { |
| | | checksum += send_frame[2+i]; |
| | | } |
| | | |
| | | checksum = Checksum_u16(&send_frame[2],5+data_length); |
| | | memcpy(&send_frame[7+data_length],&checksum,2); |
| | | |
| | |
| | | } |
| | | break; |
| | | } |
| | | SendConfigConfirm(pack_msgtype,pack_length); |
| | | } |
| | | usart_receive_state = UsartReceiveWaitHead0; |
| | | pack_index = 0; |