虫子 STM32 中断 (懂的都懂)

举报
虫子VV 发表于 2022/06/23 00:53:16 2022/06/23
【摘要】 中断 中断简介STM32 中断非常强大,每个外设都可以产生中断,==异常就是中断,中断就是异常。== 中断类型系统异常,体现在内核水平外部中断,体现在外设水平具体看STM32F10xxx产品(小容量、中容量和大容量)的向量表==(中断向量表)==我们可以看到复位Reset优先级是最高的,不管其他程序怎么跑,只要一复位那边就重新运行了 NVICNVIC:嵌套向量中断控制器,属于内核外设,管理...

中断

中断简介

STM32 中断非常强大,每个外设都可以产生中断,==异常就是中断,中断就是异常。==

中断类型

系统异常,体现在内核水平

外部中断,体现在外设水平

具体看STM32F10xxx产品(小容量、中容量和大容量)的向量表==(中断向量表)==

image-20220604152025990

我们可以看到复位Reset优先级是最高的,不管其他程序怎么跑,只要一复位那边就重新运行了

NVIC

NVIC嵌套向量中断控制器,属于内核外设,管理着包括内核和片上所有外设的中断相关的功能。

两个重要的库文件:core_cm3.hmisc.h

NVIC寄存器简介,core_cm3.h定义

image-20220604153903228

中断优先级的定义

优先级设定:NVIC->IPRx

image-20220604154649475

优先级分组:SCB->AIRCR:PRIGROUP[10:8]

image-20220604154721837

主优先级也叫着抢占优先级

中断编程顺序

1-使能中断请求

2-配置中断优先级分组

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

4-编写中断服务函数

image-20220604163042892

编写中断服务函数

这里就是我们开始需要解决的问题

1-中断服务函数名要怎么写?写错了怎么办?

2-中断服务函数要写在什么地方?

image-20220604165502701

中断服务函数的话就写在…it.c这个文件里面,方面查阅优先级

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。