X[0] =0x7D1;
Y[0] =0xA50;
uint8 mm(void)
{
uint16 arg;
uint16 arg1;
arg =X[0];
arg1 =Y[0]
if(arg >arg1)
return 0;
}
程序有时候会返回0.在return前打断点,发现arg有时候读错(arg=0xD107),高8位与低8位互换位置。
在return前打断点,有时候甚至发现判断错误,mm()返回0.(arg =0x7D1,arg1=0xA50.)
X[0]和Y[0]未在中断中出现,太经典了。以前没用过PIC,最近刚用,请大家帮忙分析一下。 |