今天调试程序。之前用if&else 语句。一直正常。代码如下:
case 4://到这个位置,读写分离
if(mychar==0x30) //读命令
{
receiveState=5;
checksum^=mychar;
}
else if(mychar==0x31) //写命令
{
receiveState=14;
checksum^=mychar;
write_flag=1;
}
else
{
receiveState=0;
}
break;
然后,想让它判断的更快一些。改用switch&case语句。确怎么也通迅不来。代码如下:
case 4://到这个位置,读写分离
{
switch(mychar) //读命令
{ case 0x30:
receiveState=5;
checksum^=mychar;
//printf("\r\nthat is %x",mychar);
break;
case 0x31:
//写命令
receiveState=14;
checksum^=mychar;
break;
default:
receiveState=0;
break;
}
}
这是怎么回事啊? 请各位多多指点
|