最近在调一个晟矽微的单片机。
有个段函数跑的极其不稳定,ScanXY偶尔有效,经常无操作。
看代码没有问题,另个费解。
代码如下:
if((ScanKey()==0)||(ScanXY()==0))
{
xxxxx
}
后来将代码改为:
Ret=ScanKey();
Ret |= ScanXY()
if(Ret)
{
xxxxx
}
后一切正常。
有些单片机的编译器做的有BUG,出现问题要慎重。表示达不能太复杂。
记录一下。
最近在调一个晟矽微的单片机。
有个段函数跑的极其不稳定,ScanXY偶尔有效,经常无操作。
看代码没有问题,另个费解。
代码如下:
if((ScanKey()==0)||(ScanXY()==0))
{
xxxxx
}
后来将代码改为:
Ret=ScanKey();
Ret |= ScanXY()
if(Ret)
{
xxxxx
}
后一切正常。
有些单片机的编译器做的有BUG,出现问题要慎重。表示达不能太复杂。
记录一下。