每次使用識別到熱鍵之后,發(fā)送指令給到其他MCU交互, 其他MCU再次發(fā)指令給到CH937Xb,第一次總是無法解析到,必須發(fā)送兩次才可以。
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); //里面會有喂狗程序,不然程序又復位了
}
/*
數(shù)據(jù)通信命令幀格式定義: HEAD1(0x57)、HEAD2(0xAB)、CMD、LEN、DATA、SUM