不知道各位大大使用PIC单片机中断出过问题没有,我原来使用18F4520,那个时候刚开始学,不会用,在中断里边执行了太多的东西,甚至有个小延时,程序运行的时候经常会出现莫名其妙的问题,有许多寄存器的值会无缘无故的被更改,尤其是全局变量被改变后程序会出现运行错误,后来听别人的,减小了中断的代码量,问题解决了,但是我总觉得问题不会完全解决,按理来说中断代码量大不应该出问题,如果代码量大出问题,那么及时代码量小,也会出问题,只不过是几率而已,再做项目就尽量避免用中断,但是现在用18F6K22,用了两个中断,低级中断是个定时中断,每秒进入中断,给定时标志置位,计时寄存器加1,然后就退出,高级中断给UART通讯,每接收到一个字节,在中断中判断接收到的字节,最多进行6次判断,代码量也不大,运行的时间也不多,但是现在在通讯质量不好的时候,设备就会出现莫名其妙的问题,好多变量值就被改变了,那位大神能给传授一下中断的使用技巧呀。 |