打印

PIC中断

[复制链接]
5442|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
NBHF|  楼主 | 2023-11-30 21:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我想问一下,优先级相同的两个中断能相互打断吗?如果有,是否会出现两中中断一直相互打断,最后使得中断堆栈溢出?

使用特权

评论回复
沙发
储小勇_526| | 2023-12-1 08:45 | 只看该作者
优先级都相同了,为啥会打架呢?

使用特权

评论回复
评论
NBHF 2023-12-1 09:12 回复TA
就是一个中断执行的时候不会被另一个中断打断吗?在中断服务程序里面打断。 
板凳
储小勇_526| | 2023-12-1 11:28 | 只看该作者
储小勇_526 发表于 2023-12-1 08:45
优先级都相同了,为啥会打架呢?

我的理解是这样子的,看看还有没有大神有其他回复

使用特权

评论回复
地板
NBHF|  楼主 | 2023-12-1 15:29 | 只看该作者
储小勇_526 发表于 2023-12-1 11:28
我的理解是这样子的,看看还有没有大神有其他回复

不会被打断,我用的这个片子没有设置中断优先级的寄存器,刚查了数据手册,中断运行的过程中会先关掉总中断使能,退出前会打开,所以运行中断服务程序过程中不会被其他打断。

使用特权

评论回复
5
储小勇_526| | 2023-12-1 15:34 | 只看该作者
NBHF 发表于 2023-12-1 15:29
不会被打断,我用的这个片子没有设置中断优先级的寄存器,刚查了数据手册,中断运行的过程中会先关掉总中 ...

这个方法虽然笨了点,不过蛮好的,不懂中断优先级的都能搞定

使用特权

评论回复
6
DanPianJiFangAn| | 2023-12-1 15:43 | 只看该作者
这种没有硬件优先级的,一个中断入口的,自己在软件里,让优先级高的排前面,低的排后面,同时发生就按软件来了.

中断里可以
while(T0IF || T1IF)     // 此判断可不要
{
    if(T0IF)
    {
        ;T0中断应用程序
        T0IF = 0;
    }
    if(T1IF)
    {
        ;T1中断应用程序
        T1IF = 0;
    }
}

使用特权

评论回复
7
无善无恶心之体| | 2023-12-1 15:54 | 只看该作者
低端的PIC芯片中断没有优先级,高端的有; 同一优先级级别的中断当然不会让它们互相拆台,同归于尽,设计者没那么傻。

使用特权

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

本版积分规则

2

主题

6

帖子

0

粉丝