stm32学习笔记06——中断

EXTI和NVIC

提问在STM32中 EXTI和NVIC都是什么:

文心一言回答:

在STM32中,EXTI和NVIC都是与中断处理相关的组件。

EXTI(External Interrupt Controller)是STM32外部中断控制器。它负责处理由外部设备或事件触发中断请求,例如,当按钮被按下或者外部信号发生变化时,EXTI可以检测到这些变化并触发中断。

NVIC(Nested Vectored Interrupt Controller,嵌套向量中断控制器)是STM32中的中断控制器。它提供了灵活、高效、可扩展的中断处理机制,支持多级优先级、多向中断、嵌套向量中断等特性。NVIC控制着STM32中断向量表中的中断相关功能,包括中断优先级分组、中断优先级的配置、读中断请求标志、清除中断请求标志、使能中断、清除中断等。

EXTI和NVIC在STM32中断系统中具有不同的角色,共同保证了系统中断处理的顺利进行。

简单来说NVIC是芯片内部中断控制器,EXTI是片上外设。

整个程序设计的思路如下

stm32学习笔记06——中断_第1张图片

在程序设计过程中有几个需要注意的点

1.关于为什么line0 对应的就是PA0的中断,
因为,在stm32f10x参考说明书中的9.2.5 外部中断/事件线路映像有说明。
stm32学习笔记06——中断_第2张图片
2.EXTI时钟
需要注意的是,当使用EXTI外部中断功能时,必须开启AFIO时钟,

3.中断服务函数的名称
需要注意的是
中断服务函数名不能随意编写 在启动文件中startup_stm32f10x_xx.s 中断服务函数的名称已经给出
中断向量表应该与中断服务函数名 一一对应

stm32学习笔记06——中断_第3张图片

你可能感兴趣的:(stm32,学习,笔记)