打印
[其他ST产品]

配置和使用NVIC

[复制链接]
597|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
配置中断优先级分组
优先级分组定义了抢占优先级和子优先级的划分比例。以下是配置优先级分组的示例:

c

#include "stm32f4xx.h" // 根据使用的具体型号包含相应的头文件

void NVIC_Configuration(void)
{
    // 配置优先级分组,设为 Group 3(4 bits for pre-emption priority, 0 bits for subpriority)
    NVIC_PriorityGroupConfig(NVIC_PriorityGroup_3);

    // 配置具体中断通道的优先级
    NVIC_InitTypeDef NVIC_InitStructure;

    // 配置 USART1 中断
    NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn;
    NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;
    NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
    NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
    NVIC_Init(&NVIC_InitStructure);

    // 配置 EXTI Line0 中断
    NVIC_InitStructure.NVIC_IRQChannel = EXTI0_IRQn;
    NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
    NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
    NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
    NVIC_Init(&NVIC_InitStructure);
}


使用特权

评论回复
沙发
kepe| | 2024-7-31 01:04 | 只看该作者
中断优先级是通过 NVIC_InitTypeDef 结构体进行配置的。你需要为每个中断通道设置抢占优先级和子优先级,并启用或禁用中断。

使用特权

评论回复
板凳
AdaMaYun| | 2024-7-31 19:02 | 只看该作者
配置中断优先级分组十分重要

使用特权

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

本版积分规则

43

主题

675

帖子

0

粉丝