宠物屋STM32串口接收程序有问题
看了串口接收程序那部分的代码,有点疑惑,麻烦大家解释一下。void USART1_IRQHandler(void)函数中的:
if(cmd_flag2 ==0)//.......1
{
if(cmd_flag2)//.......2
{
uart_buf=vlue;
uart_Count++;
if(uart_buf == 0xff)
{
cmd_flag2 = 1;
}
else
{
cmd_flag1 = 0;
}
}
cmd_flag2 = 1;
}
1处和2处是不是存在矛盾啊?看函数意思是确定数组包头的,但1处函数成立2处就不成立,反之亦然。结果是永远进不去2处判断,是有BUG,还是我自己还没理解函数啊?
我也发现有这样的问题 感觉嵌套的判定cmd_flag2不太对哎 我也是感觉这个地方有问题,,有没有官方的解释啊,,,看了一个机智云教程,也没说这个问题怎么回事。。。。:'(
页:
[1]