STM32一文通(5) 中断概览

  • STM32 中断非常强大,每个外设都可以产生中断
  • 中断优先级数值越小级别越高
  • 中断的类型分两类: 1. 系统异常(contex M3) 2.外设中断

一. 中断由谁管理? NVIC

二. 关于中断"软件优先级"顺序

先选组, 再选:抢占优先级 , 再选子优先级

三. 中断编程的顺序

1. 使能中断请求

外设中断使能有两扇大门 1. 外设中断使能 2.NVIC中断使能
本步骤仅仅使能 外设中断使能寄存器位
NVIC中断使能就是后面的步骤

2. 配置中断优先级分组(先选组)

设置优先级分组可调用库函数misc.c 和 misc.h 中的NVIC_PriorityGroupConfig()实现

3. 配置NVIC寄存器,初始化NVIC_InitTypeDef;

  • 参数1 : 中断源, 这是一个NVIC_IRQChannel类型的数据, 其已经在stm32f10x.h文件中枚举定义好了
内部异常
外部中断
  • 参数2: 抢占优先级

优先级分组按照以下规则

  • 参数3: 子优先级

还是看上表

  • 参数4: 使能, 可选ENABLE or DISABLE

4. 调用初始化函数

第三步实例化一个NVIC_InitTypeDef类型数据 就是给它用的

5.编写中断服务函数

中断服务函数不能随便起名, 因为他们的名字已经在启动文件中定义好了

中断服务函数写在哪???
写在stm32f10x_it.c文件中, 里面已经定义了一些内部中断函数

并且为外设中断服务函数留好了空间.

四. 全部中断名称(以STM32F10X-CL为例)


附:

互联型产品STM32F10xxx产品的向量表:

1. 系统异常

2. 外设中断


其它STM32F10xxx产品(小容量、中容量和大容量)的向量表

1. 系统异常

2. 外设中断

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容