keil/include/drivers/serial_at_cmd_app.c
@@ -100,8 +100,10 @@
    }
    checksum = Checksum_u16(&send_frame[2],5+data_length);
    memcpy(&send_frame[7+data_length],&checksum,2);
      gpio_pin_set(CHANGE_UART_PIN);//;拉高变发送
    uart_send(UART_ID0, send_frame,data_length+9, NULL);
            while(uart_tx_in_progress(UART_ID0));
         gpio_pin_clr(CHANGE_UART_PIN);//;拉低变接收
}
void SendComMap(uint8_t data_length, uint8_t index)//表示成功读取的回应包
{
@@ -281,6 +283,11 @@
      }
}
extern uint8_t bind_flag;
extern uint32_t dev_id;
uint16_t temp_id;
void Usart0ParseDataHandler(uint8_t data)
{
if(state5V_prase_flag&&!g_com_map[MODBUS_MODE])
@@ -289,6 +296,7 @@
        uint16_t checksum = 0;
        static uint8_t pack_datalen = 0,pack_length = 0,pack_index = 0,pack_msgtype = 0,pack_cmd = CMD_READ;
        static uint8_t index = 0;
        if(usart_receive_state == UsartReceiveWaitChecksum)
        {   //若收到校验和包
            checksum = 0;
@@ -324,7 +332,10 @@
                case CMD_READ:
                    //read包中data字节,即mUsart2ReceivePack[0]表示数据长度;
                    //从g_com_data结构体中的第index位置读取长度为mUsart2ReceivePack[0]的字节,发送出来
                    SendComMap0(pack_datalen,pack_index>>1);
                        memcpy(&temp_id,&mUsart2ReceivePack[0],2);
                        if(memcmp(&temp_id,&dev_id,2)==0)
                           buffer_message_send();
                    //SendComMap0(pack_datalen,pack_index>>1);
                    break;
                default:
                    break;