打印

pic关于中断的几个小问题,求指导

[复制链接]
688|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
huandaczq|  楼主 | 2018-4-27 18:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 huandaczq 于 2018-4-27 18:12 编辑

好累所有想偷懒直接知道答案,希望不要说让我自己去试验。pic单片机
问题【1】:高级或者低级中断,如果有2个或者以上,是通过判断if (PIR1bits.TMR1IF=1)来判定同(高或低)级的优先级还是说,有默认的,比如timer1 高于 int2(外部中断2)
问题【2】:基于1的问题,出来2个小问题;问题2.1:假设现在在执行低级中断,系统还在判定是哪个中断的interrupt flag置1的时候,恰巧同时触发了另外一个低级中断+高级中断,那么接下来的时许是不是(a先进入高级中断源,执行完程序)(b返回继续刚刚没执行完的程序,然后执行完)(c再执行一次,刚刚和高级中断同时触发的低级中断);问题2.2,如果pwm在高级中断中,如果有2个或者以上个高级中断,也就是说,判断或者执行语句相对比较多,pr2=255来看的话,如果没有预或后分频的话,255岂不是等同于257或者更多?---pr2不会等于257,只是说中断去执行语句消耗的时间相比只有一个高级中断时候把tmr2清零后。但是如果你加了预后分频,如果大的话,那么电压浮动会变得大很多,应该怎么去调节这个问题?单单尽量减少中断中的语句?还是说一般几条语句不会对其造成影响?

多些大神指导下。!

相关帖子

沙发
linqing171| | 2018-4-28 09:58 | 只看该作者
问题1:很低端的MCU,只有一个入口的,纯软件代码(不是配置寄存器)设置的优先级,是假优先级,只有两个中断同时来才有用。如果低优先级先来了(已经执行到了if里面的内容了),高优先级是不能执行的,必须等着低的执行完了才会进入高的。
问题2:没有看懂,定时器是要自动重载的。如果软件来修改定时器的初始值或者计数值,会导致软件执行的随机性(个别情况下不可打断等等),带来误差。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

34

主题

186

帖子

0

粉丝