| | |
| | | #define Label_id_local 1 //标签id |
| | | #define data_buff_MAX 50 //基站数量 |
| | | #define Lora_TXD_bff_MAX 220 //发送缓存区大小 >4+8+4*基站数量+2=14+4*基站数量 |
| | | |
| | | #define BIND_LIMIT_TIME 20 |
| | | uint8_t mUsartReceivePack[100] = {0}; |
| | | uint8_t mUsart2ReceivePack[150] = {0}; |
| | | uint8_t GPS_GGAmessage[150]={0}; |
| | |
| | | checksum = Checksum_u16(&send_frame[2],5+data_length); |
| | | memcpy(&send_frame[7+data_length],&checksum,2); |
| | | |
| | | uart_send(UART_ID1, send_frame,data_length+9, NULL); |
| | | uart_send(UART_ID0, send_frame,data_length+9, NULL); |
| | | } |
| | | void UpdateProcess(uint8_t index) |
| | | { |
| | |
| | | |
| | | } |
| | | double d_value; |
| | | uint16_t checksum_temp = 0,checksum_temp1=0; |
| | | extern int16_t bind_count; |
| | | extern uint16_t group_id; |
| | | void UsartParseDataHandler(uint8_t data) |
| | | { |
| | | if(state5V_prase_flag&&!g_com_map[MODBUS_MODE]) |
| | |
| | | checksum += pack_index; |
| | | checksum += pack_datalen; |
| | | checksum += pack_msgtype; |
| | | checksum_temp=checksum; |
| | | checksum_temp1=(data + checksum)&0xff; |
| | | if(((data + checksum)&0xff) == 0xFF) //校验通过 |
| | | { |
| | | switch(pack_cmd) |
| | |
| | | //从g_com_data结构体中的第index位置读取长度为mUsartReceivePack[0]的字节,发送出来 |
| | | SendComMap(pack_datalen,pack_index>>1); |
| | | break; |
| | | case CMD_BIND: |
| | | g_com_map[BIND_START_INDEX] = 1; |
| | | bind_count=BIND_LIMIT_TIME; |
| | | group_id=0;//变为配对组ID |
| | | break; |
| | | default: |
| | | break; |
| | | } |
| | |
| | | } else if(usart_receive_state == UsartReceiveWaitCMD) { //收到指令类型字节 |
| | | pack_cmd = data; |
| | | usart_receive_state = UsartReceiveWaitIndex; |
| | | if(pack_cmd==CMD_BIND) |
| | | { |
| | | usart_receive_state = UsartReceiveWaitChecksum; |
| | | } |
| | | } else if(usart_receive_state == UsartReceiveWaitLength) { //收到长度字节 |
| | | |
| | | pack_length = data; |