打印

中断嵌套的问题

[复制链接]
2293|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
colaring|  楼主 | 2008-7-15 22:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
这个懂,是两个优先组的优先级配置,2bit,代表每个组有2位,则优先级由0~3

下面就不明白了!既然PreemptionPriority和SubPriority代表两个不同优先级的组(PreemptionPriority高于SubPriority),那么这个配置中TIM3_IRQ在一个组里面优先级是0,另一个里面优先级是1,怎么是这样???还有例程中两个组全填0,也有全填1的,按理说这个中断仅在PreemptionPriority中填0就是最高了啊(忽略硬件优先级)为啥还要在SubPriority里填个1?

  NVIC_InitStructure.NVIC_IRQChannel = TIM3_IRQChannel;
  NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
  NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;
  NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
  NVIC_Init(&NVIC_InitStructure); 

 我不懂的就是:
1.同一个中断在两个组里都配置了优先级有意义么?
2.假设PreemptionPriority组有一个低级中断服务程序在运行,当来了一个本组的高级中断是否可以打断它?同理SubPriority的高级中断能否打断本身的低级中断,PreemptionPriority组是否可以打断SubPriority的中断?
沙发
香水城| | 2008-7-15 22:20 | 只看该作者

楼主的问题已经有人帮你回答过了

使用特权

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

本版积分规则

44

主题

156

帖子

1

粉丝