每次使用识别到热键之后,发送指令给到其他MCU交互, 其他MCU再次发指令给到CH937Xb,第一次总是无法解析到,必须发送两次才可以。
void cmd_send_deal(UINT8 tag)
{
UINT8 sum = 0,i;
g_cmd_send.update = 1;
g_cmd_send.over_time_tag = 1;
sum = 0;
memset(g_send_buf,0,8);
g_send_buf[0]=UART_HEAD1;
g_send_buf[1]=UART_HEAD2;
g_send_buf[2]=g_cmd_send.cmd;
g_send_buf[3]=g_cmd_send.len;
g_send_buf[4]=g_cmd_send.dat;
for( i = 0; i < g_cmd_send.len + 4; i++ )
{
sum += g_send_buf[ i ];
}
g_send_buf[ 4 + g_cmd_send.len ] = sum;
printf(g_send_buf);
mDelaymS(1); //里面会有喂狗程序,不然程序又复位了
}
/*
数据通信命令帧格式定义: HEAD1(0x57)、HEAD2(0xAB)、CMD、LEN、DATA、SUM