一个C语言写的小程序,12MHz外部时钟,外部中断低电平触发,在STC89C52下写成的,任何情况下运行都正常。
后来芯片升级,改用STC12C5A32,出现问题如下:
当中断服务程序运行时间长的时候,连续外部中断触发,系统正常;
当中断服务程序运行时间短的时候,连续外部中断触发,系统就不返回主程序,一直呆在中断里,中断服务程序仍然可以执行。
采取过的解决办法有:
在中断服务程序里加空指令、强制清除中断标志、进入中断服务程序立即关闭外部中断、强制将外部中断端口置1、将中断服务简化成一条指令、软件设置中断优先级、将时钟频率分频以降低工作频率等方法,均无效,问题依旧。
请教各位老师,有啥好的解决办法吗?谢谢。
[ 此帖被BG1TRP在2017-09-03 13:13重新编辑 ]