STM32F4 NVIC中断配置(一)

配置优先级分组

|      优先级分组       |   主优先级(抢占优先级)     |  子优先级 (响应优先级) |      描述         |
--------------------------------------------------------------------------
| NVIC_PriorityGroup_0 |      0         |     0-15   |  主-0bit,子-4bit |
| NVIC_PriorityGroup_1 |      0-1       |     0-7    |  主-1bit,子-3bit |
| NVIC_PriorityGroup_2 |      0-3       |     0-3    |  主-2bit,子-2bit |
| NVIC_PriorityGroup_3 |      0-7       |     0-1    |  主-3bit,子-1bit |
| NVIC_PriorityGroup_4 |      0-15      |     0      |  主-4bit,子-0bit |
--------------------------------------------------------------------------*/

NVIC_PriorityGroupConfig(优先级分组);

1.定义NVIC结构体

NVIC_InitTypeDef NVIC_InitStructure;

2.配置中断通道

NVIC_InitStructure.NVIC_IRQChannel=中断通道;
中断通道:

WWDG_IRQChannel 窗口看门狗中断
PVD_IRQChannel PVD 通过 EXTI 探测中断
TAMPER_IRQChannel 篡改中断
RTC_IRQChannel RTC 全局中断
FlashItf_IRQChannel FLASH 全局中断
RCC_IRQChannel RCC 全局中断
EXTI0_IRQChannel 外部中断线 0 中断
EXTI1_IRQChannel 外部中断线 1 中断
EXTI2_IRQChannel 外部中断线 2 中断
EXTI3_IRQChannel 外部中断线 3 中断
EXTI4_IRQChannel 外部中断线 4 中断
DMAChannel1_IRQChannel DMA 通道 1 中断
DMAChannel2_IRQChannel DMA 通道 2 中断
DMAChannel3_IRQChannel DMA 通道 3 中断
DMAChannel4_IRQChannel DMA 通道 4 中断
DMAChannel5_IRQChannel DMA 通道 5 中断
DMAChannel6_IRQChannel DMA 通道 6 中断
DMAChannel7_IRQChannel DMA 通道 7 中断
ADC_IRQChannel ADC 全局中断
USB_HP_CANTX_IRQChannel USB 高优先级或者 CAN 发送中断
USB_LP_CAN_RX0_IRQChannel USB 低优先级或者 CAN 接收 0 中断
CAN_RX1_IRQChannel CAN 接收 1 中断
CAN_SCE_IRQChannel CAN SCE 中断
EXTI9_5_IRQChannel 外部中断线 9-5 中断
TIM1_BRK_IRQChannel TIM1 暂停中断
TIM1_UP_IRQChannel TIM1 刷新中断
TIM1_TRG_COM_IRQChannel TIM1 触发和通讯中断
TIM1_CC_IRQChannel TIM1 捕获比较中断
TIM2_IRQChannel TIM2 全局中断
TIM3_IRQChannel TIM3 全局中断
TIM4_IRQChannel TIM4 全局中断
I2C1_EV_IRQChannel I2C1 事件中断
I2C1_ER_IRQChannel I2C1 错误中断
I2C2_EV_IRQChannel I2C2 事件中断
I2C2_ER_IRQChannel I2C2 错误中断
SPI1_IRQChannel SPI1 全局中断
SPI2_IRQChannel SPI2 全局中断
USART1_IRQChannel USART1 全局中断
USART2_IRQChannel USART2 全局中断
USART3_IRQChannel USART3 全局中断
EXTI15_10_IRQChannel 外部中断线 15-10 中断
RTCAlarm_IRQChannel RTC 闹钟通过 EXTI 线中断
USBWakeUp_IRQChannel USB 通过 EXTI 线从悬挂唤醒中断

3.设置抢占优先级

NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 抢占优先级

4.设置响应优先级

NVIC_InitStructure.NVIC_IRQChannelSubPriority = 响应优先级

5.使能外部中断通道

NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;

6.初始化

NVIC_Init(&NVIC_InitStructure);
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值