我用了STM32F103vet6的2个串口 进行数据处理。串口1发送指令让串口3发数,然后串口3收反馈的数,串口1查询到3有反馈后,就会执行另一条指令。所有的接收都是中断的方式!我怎么感觉这2个串口的执行不是同步的。
流程如下:
USART1: USART3:
void Display_parser(const char rev_buf[])
if(strstr(rev_buf, "$YHZL"))
{
BD1_ICJC();
if((bd1result[0] == 'I')&&(bd1result[1] == 'C')&&(bd1result[2] == 'X')&&(bd1result[3] == 'X'))
{
printf("hello IC");
memset(bd1result,0,5);
}
}
}
if(strstr(rev_buf,"$ICXX")) strcpy(bd1result,"ICXX");
但是USART1里总是不能同时检测到bd1result的状态?要再发送一次数据才可以?
怎么处理
|