[其他ST产品] STM32F4 NVIC中断配置(一)

[复制链接]
 楼主| 工程师犹饿死 发表于 2021-12-30 14:30 | 显示全部楼层 |阅读模式
AD, ST, ic, vi
配置优先级分组
  1. |      优先级分组       |   主优先级(抢占优先级)     |  子优先级 (响应优先级) |      描述         |
  2. --------------------------------------------------------------------------
  3. | NVIC_PriorityGroup_0 |      0         |     0-15   |  主-0bit,子-4bit |
  4. | NVIC_PriorityGroup_1 |      0-1       |     0-7    |  主-1bit,子-3bit |
  5. | NVIC_PriorityGroup_2 |      0-3       |     0-3    |  主-2bit,子-2bit |
  6. | NVIC_PriorityGroup_3 |      0-7       |     0-1    |  主-3bit,子-1bit |
  7. | NVIC_PriorityGroup_4 |      0-15      |     0      |  主-4bit,子-0bit |
  8. --------------------------------------------------------------------------*/



评论

NVIC_PriorityGroupConfig(优先级分组);  发表于 2021-12-30 14:31
 楼主| 工程师犹饿死 发表于 2021-12-30 14:32 | 显示全部楼层
1.定义NVIC结构体
  1. NVIC_InitTypeDef NVIC_InitStructure;
 楼主| 工程师犹饿死 发表于 2021-12-30 14:33 | 显示全部楼层
2.配置中断通道
NVIC_InitStructure.NVIC_IRQChannel=中断通道;
 楼主| 工程师犹饿死 发表于 2021-12-30 14:33 | 显示全部楼层
WWDG_IRQChannel 窗口看门狗中断
PVD_IRQChannel PVD 通过 EXTI 探测中断
TAMPER_IRQChannel 篡改中断
RTC_IRQChannel RTC 全局中断
FlashItf_IRQChannel FLASH 全局中断
RCC_IRQChannel RCC 全局中断
 楼主| 工程师犹饿死 发表于 2021-12-30 14:34 | 显示全部楼层
EXTI0_IRQChannel 外部中断线 0 中断
EXTI1_IRQChannel 外部中断线 1 中断
EXTI2_IRQChannel 外部中断线 2 中断
EXTI3_IRQChannel 外部中断线 3 中断
EXTI4_IRQChannel 外部中断线 4 中断
 楼主| 工程师犹饿死 发表于 2021-12-30 14:35 | 显示全部楼层
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 全局中断
————————————————
 楼主| 工程师犹饿死 发表于 2021-12-30 14:36 | 显示全部楼层
USB_HP_CANTX_IRQChannel USB 高优先级或者 CAN 发送中断
USB_LP_CAN_RX0_IRQChannel USB 低优先级或者 CAN 接收 0 中断
CAN_RX1_IRQChannel CAN 接收 1 中断
CAN_SCE_IRQChannel CAN SCE 中断
 楼主| 工程师犹饿死 发表于 2021-12-30 14:36 | 显示全部楼层
EXTI9_5_IRQChannel 外部中断线 9-5 中断
TIM1_BRK_IRQChannel TIM1 暂停中断
TIM1_UP_IRQChannel TIM1 刷新中断
TIM1_TRG_COM_IRQChannel TIM1 触发和通讯中断
TIM1_CC_IRQChannel TIM1 捕获比较中断
————————————————、
 楼主| 工程师犹饿死 发表于 2021-12-30 14:37 | 显示全部楼层
TIM2_IRQChannel TIM2 全局中断
TIM3_IRQChannel TIM3 全局中断
TIM4_IRQChannel TIM4 全局中断
 楼主| 工程师犹饿死 发表于 2021-12-30 14:38 | 显示全部楼层
I2C1_EV_IRQChannel I2C1 事件中断
I2C1_ER_IRQChannel I2C1 错误中断
I2C2_EV_IRQChannel I2C2 事件中断
I2C2_ER_IRQChannel I2C2 错误中断
 楼主| 工程师犹饿死 发表于 2021-12-30 14:39 | 显示全部楼层
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 线从悬挂唤醒中断
 楼主| 工程师犹饿死 发表于 2021-12-30 14:40 | 显示全部楼层
3.设置抢占优先级
  1. NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 抢占优先级
 楼主| 工程师犹饿死 发表于 2021-12-30 14:41 | 显示全部楼层
4.设置响应优先级
  1. NVIC_InitStructure.NVIC_IRQChannelSubPriority = 响应优先级
 楼主| 工程师犹饿死 发表于 2021-12-30 14:42 | 显示全部楼层
5.使能外部中断通道
  1. NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
 楼主| 工程师犹饿死 发表于 2021-12-30 14:43 | 显示全部楼层
6.初始化

  1. NVIC_Init(&NVIC_InitStructure);
您需要登录后才可以回帖 登录 | 注册

本版积分规则

78

主题

967

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部

78

主题

967

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部