使用PICC多年了,从8.05到9.60,对于PICC中断保护的问题总是不明白。
那就是,如果我在主程序中有判断语句,比如
IF(cTest==0)
{
......
}
这样的语句出现的话,他汇编后会利用STATUS中的Z标志来判断,具体是1:先把cTest赋值给W,2:而后利用BTFSS STATUS,Z,来判断,但是有可能在赋值后判断前发生了中断,进入中断程序,而中断程序中在保存STATUS过程中需要把STATUS赋值给W,而此语句影响Z标志,这样的话保存的STATUS值可能Z就变化了,当退出中断后,下面的判断语句就利用错误的Z来判断了。。。。
请教各位,有没有遇到这种情况?是不是我哪里犯了错误?总不能先关中断,判断完毕后再开中断吧?
我在网上搜了搜没有找到别人提出这样的问题,是不是我哪里不对?多些指教! |