pic中断特别说明

Posted 樊四郎

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pic中断特别说明相关的知识,希望对你有一定的参考价值。

在调试产品W660-MODBUS过程中发现,程序工作在偶然情况下会工作异常,经过将近一个礼拜的追踪,发现PIC中断有一下两个怪异特性:

  • 在刚进入中断时就应该清除中断标志,如果在最后返回之前才清除标志,会导致同一个中断嵌套进入。但是只有低优先级中断会存在这个情况。当低优先级中断刚进入时,没有清除中断标志--高优先级中断发生,打断低优先级中断--高优先级中断结束--返回至被打断的低优先级中断,但是此时如果低优先中断标志没有被清除,而且此时被打断的低优先级中断条件再一次满足,则此时会从头先执行新发生的中断,此中断结束后再接着执行被打断的中断。这会导致同一个中断嵌套进入,导致被保存的变量丢失。
  • 在中断服务程序中不能软件使能中断。在进入中断服务程序时,PIC内部会禁止中断,高优先级中断会自动清除高优先级使能标志,低优先级中断会自动清除低优先级使能标志。在中断结束后,PIC内部又会自动设置中断使能标志。如果在服务程序中手动设置高优先级使能标志会导致程序异常。(表现之一:中断服务程序进入之前保存的变量值会被覆盖,跟同一中断嵌套的造成的异常类似)

以上是关于pic中断特别说明的主要内容,如果未能解决你的问题,请参考以下文章

谁学过51和ARM,这两个定时器计数器的中断处理函数的主要区别在哪里?特别是ARM,中断处理函数怎没理解?求

第17章 EXTI—外部中断/事件控制器

多线程编程 实战篇

r 特别说明kolom bekijken

saltshaker-plus 版本选择特别说明

关于ChatGPT高效学习的特别说明