其它的51芯片,用的好好的代码,STC的8A/8F/8G等系列就是不行。
很简单的代码,关闭T2的中断使能位,读写几个变量,再使能T2中断,就会导致T2的中断丢失。
联系FAE,过了一天说他们测试过没有问题。
我回短信说,麻烦给个邮箱,我把代码发给测试一下,到底是否有问题,没任何消息。
//测试飞读对T0/T1/T2的影响
do
{
wdt();
_nop_();
_nop_();
ET0=0; //临时关闭ET0,脉冲输出未见影响
_nop_();
cnt=cnt0;
_nop_();
ET0=1;
ET1=0; //临时关闭ET1,脉冲输出未见影响
_nop_();
cnt=cnt1;
_nop_();
ET1=1;
IE2&=0xfb; //临时关闭ET2,脉冲输出会频繁变大n倍
//EA=0; //临时关闭EA是可以的,只是影响其它中断
_nop_();
cnt=cnt2;
_nop_();
IE2|=0x04;
//EA=1;
}while(1); |
还有其他BUG ,用久了,程序复杂点就发现怪毛病。。。而且能确定是芯片问题