STM32学习和实践笔记(16):STM32的中断一般配置步骤

STM32的中断配置步骤,通常都需经过这几步:

1)使能外设某个中断

方法就是调用这个外设的中断使能库函数来使能或者说打开它。

2)设置中断优先级分组,

方法就是使用库函数 NVIC_PriorityGroupConfig(),来设置中断优先级分组,misc.c可以查看这个库函数。优先级分组具体见上一篇的内容,一共有5种可能的分组方式,通常使用标号为2的那种分组方式。

(3)初始化 NVIC_InitTypeDef 结构体,这个结构体也是在misc.c中可找到。

typedef struct

{

  uint8_t NVIC_IRQChannel;                    //中断源

  uint8_t NVIC_IRQChannelPreemptionPriority;  //抢占优先级

  uint8_t NVIC_IRQChannelSubPriority;         //响应优先级

  FunctionalState NVIC_IRQChannelCmd;         //中断使能或失能  

} NVIC_InitTypeDef;

3)编写中断服务函数内的具体内容。

这个具体内容,就是当这个中断发生后,自己希望利用这个中断具体做什么。

注意每一个中断服务函数的中断名,都已经在下面这个启动文件中写好了。可以编写函数内的内容,但是函数名不要去修改!

最近更新

  1. TCP协议是安全的吗?

    2024-04-21 00:44:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-21 00:44:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-21 00:44:03       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-21 00:44:03       20 阅读

热门阅读

  1. WPF: XAML语法规范详解

    2024-04-21 00:44:03       13 阅读
  2. 缓存之SpringCache整合redis

    2024-04-21 00:44:03       14 阅读
  3. 国内外大模型最全合集

    2024-04-21 00:44:03       52 阅读
  4. VTK----VTK数据结构详解(几何篇)

    2024-04-21 00:44:03       12 阅读
  5. Vue2 基础四前后端交互

    2024-04-21 00:44:03       13 阅读
  6. Apache Storm详细配置

    2024-04-21 00:44:03       11 阅读
  7. Destroy销毁速度慢导致的错误

    2024-04-21 00:44:03       15 阅读
  8. MySQL查询优化(学习)

    2024-04-21 00:44:03       18 阅读