本帖最后由 zhaoshuyang82 于 2014-9-15 22:50 编辑
问题困扰我有一段时间了,请各位高人指点下。
用语言描述就是:在主函数对程序进行初始化,首先初始化定时器Timer0,设置成2ms定时器,并启动该定时器;然后打开Timer0、SCIA、SCIB的CPU级中断使能、PIE级中断使能和全局中断使能。在常温下FLASH程序工作时没有问题,SCIB正常工作。但是在低温-10℃~0℃开机时,FLASH程序不能正常工作,表现为SCIB通信不正常。
把初始化顺序更改为:首先打开Timer0、SCIA、SCIB的各级中断使能;然后进行Timer0的相关设置和启动,在低温下FLASH程序就可以正常工作了,串口一直很正常。
区别仅仅是一个先开定时器中断源,后开中断使能;另一个反过来先开中断使能,后开定时器中断源。在低温下表现却很不一样。
本人才疏学浅,查阅相关资料后也无法给出解释,求各位高人指点。 |