打印
[应用相关]

NVIC中断应用

[复制链接]
311|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
AD, ic, vi
1.NVIC优先级

1.NVIC分组不参与优先级
2.中断同时发生,抢占优先级高的就会抢占 抢占优先级低的先执行
3.抢占优先级相同,中断同时发生,子优先级高的先执行中断
4.抢占优先级与子优先级相同时,比较硬件中断编号,编号越小,优先级越高。


使用特权

评论回复
沙发
狗啃模拟|  楼主 | 2021-12-30 21:56 | 只看该作者
下面是NVIC优先级分组,0-4组,每组16个中断优先级

使用特权

评论回复
板凳
狗啃模拟|  楼主 | 2021-12-30 21:59 | 只看该作者

使用特权

评论回复
地板
狗啃模拟|  楼主 | 2021-12-30 22:00 | 只看该作者
2.NVIC程序配置
1.NVIC分组
2.配置外部中断源
3.配置抢占优先级
4.配置子优先级
5.使能中断

使用特权

评论回复
5
狗啃模拟|  楼主 | 2021-12-30 22:02 | 只看该作者
NVIC中断源:

使用特权

评论回复
6
狗啃模拟|  楼主 | 2021-12-30 22:02 | 只看该作者
NVIC软件配置

static void NVIC_Configuration(void)
{
  NVIC_InitTypeDef NVIC_InitStructure;
  
  /* ÅäÖÃNVICΪÓÅÏȼ¶×é1 */
  NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);
  
  /* ÅäÖÃÖжÏÔ´£º°´¼ü1 */
  NVIC_InitStructure.NVIC_IRQChannel =  EXTI0_IRQn;
  /* ÅäÖÃÇÀÕ¼ÓÅÏȼ¶ */
  NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;
  /* ÅäÖÃ×ÓÓÅÏȼ¶ */
  NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;
  /* ʹÄÜÖжÏͨµÀ */
  NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
  NVIC_Init(&NVIC_InitStructure);
}

使用特权

评论回复
7
狗啃模拟|  楼主 | 2021-12-30 22:04 | 只看该作者
以上纯属个人观点,若有不正之处,请不吝赐教!

使用特权

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

本版积分规则

60

主题

770

帖子

1

粉丝