//////////
tmp = input_str[0];
if(input_str[0]== 0xcc){
Sync_Flag = 1;
}
if(tmp == 0xcc){
Sync_Flag = 2;
}
if(input_str[1]==0x55 ){
Sync_Flag = 3;
}
////////////////////////////
input_str是一个定义的unsinged char的串口接收缓冲区,在keil中调试发现当
input_str[0]=0xcc,input_str[1]时,在判断 if(input_str[0]== 0xcc)时条件结果竟然为零,没有执行 Sync_Flag = 1;而 通过 tmp = input_str[0]赋值,在判断 if(tmp == 0xcc)结果为1,执行了 Sync_Flag = 2;在判断 if(input_str[1]==0x55 )时结果正确
天呐,这到底咋回事啊 |