6、江科大stm32视频学习笔记——EXTI中断

1、中断系统

 2、中断执行流程

 3、stm32中断

68个可屏蔽中断通道,包含EXTITIMADCUSARTSPII2CRTC等多个外设

使用NVIC统一管理中断,每个中断通道都拥有16个可编程的优先等级,可对优先级进行分组,进一步设置抢占优先级和响应优先级

上图为stm32中断资源

灰色为内核的中断,例如reset复位中断,当产生复位时,程序就会自动执行复位中断函数

白色为外设中断,例如WWDG中断,程序太卡,没有及时喂狗,看门狗就会申请中断,让程序调到窗口看门狗的中断程序,进行错误检查,看看出现什么问题

PVD电源电压检测,若电压供电不足,PVD电路就会申请中断,在中断就会知道供电不足。

中断地址、中断向量

表的最右边有中断的地址。

程序中的中断函数的地址是由编译器来分配,不固定,但由于硬件限制,中断跳转只能怪跳到固定的地址执行程序,故为了能让硬件跳转到一个不固定的中断函数中,需要在内存中定义一个地址的列表

列表地址固定,中断发生后,先跳转到固定位置,然后由编译器再跳转到中断函数的代码,这样中断跳转就可以跳转到任意位置了

中断地址的列表,叫中断向量表,相当于一个跳板

(在C语言编程中不考虑该问题)

4、NVIC基本结构

NVIC的名字叫做嵌套中断向量控制器 

CPU可当作医生,NVIC的功能相当于叫号系统,中断相当于病人

5、响应优先级和抢占优先级

插队:响应优先级

不等上个病人进去就直接进去:抢占优先级

NVIC的中断优先级由优先级寄存器的4位(0~15)决定,这4位可以进行切分,分为高n位的抢占优先级和低4-n位的响应优先级

抢占优先级高的可以中断嵌套,响应优先级高的可以优先排队,抢占优先级和响应优先级均相同的按中断号排队

6、EXTIExtern Interrupt)外部中断

EXTI可以监测指定 GPIO 口的电平信号,当其指定的 GPIO 口产生电平变化时, EXTI 将立即向 NVIC 发出中断申请,经过 NVIC 裁决后即可中断 CPU 主程序,使 CPU 执行 EXTI 对应的中断程序
支持的触发方式:上升沿 / 下降沿 / 双边沿 / 软件触发
支持的 GPIO 口:所有 GPIO 口,但相同的 Pin (例如 PA1 PB1 PC1 )不能 同时触发中断
通道数: 16GPIO_Pin ,外加 PVD 输出、 RTC 闹钟、 USB 唤醒、以太网 唤醒(一共 20 个)
触发响应方式:中断响应 / 事件响应

外部中断有个功能:从低功耗模式的停止模式下唤醒stm32

例如PVD电源电压检测:当从电源从电压过低恢复时,需要PVD借助外部中断退出停止模式

RTC闹钟:RTC定一个闹钟之后,stm32进入停止模式,等闹钟响再唤醒,也需要外部中断

中断响应:申请中断,让CPU执行中断函数

事件响应:触发一个事件,则中断信号不会通向CPU,而是通向其他外设的操作,例如触发ADC转换、触发DMA等(stm32对外部中断增加的额外的功能)(也就是不会触发中断,而是触发外设操作)

外部中断的9~5、15~10会触发同一个中断函数,所以在编程的时候,要根据标志位区分是哪一个中断进来的

7、AFIO

AFIO主要用于引脚复用功能的选择和重定义

在STM32中,AFIO主要完成两个任务:复用功能引脚重映射、中断引脚选择

8、与门/或门

  或门            与门

侧面有选择控制端,根据控制端的数据,从输入选择一个接到输出

VIC基本结

  • 7
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
江科大STM32笔记中提到了RTC(实时时钟)的相关内容。RTC是一个独立的定时器,可以提供时钟日历的功能,并且可以通过修改计数器的值重新设置系统的当前时间和日期。在STM32CubeMX中可以进行RTC的配置。 另外,EXTI是外部中断线,它可以监测指定GPIO口的电平信号变化,并且当GPIO口产生电平变化时,EXTI会向NVIC(中断向量控制器)发出中断申请。经过NVIC的裁决后,CPU可以执行对应的中断程序。EXTI和NVIC的时钟在STM32中是默认打开的,因为NVIC是内核的外设,不需要手动开启时钟,而RCC(时钟控制寄存器)负责管理内核外的外设。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [STM32CubeMX RTC配置STM32 RTC时钟掉电日期不更新](https://download.csdn.net/download/qq_22560021/85415300)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [STM32学习笔记(基于B站江科大标准库教程)](https://blog.csdn.net/weixin_62127790/article/details/128665970)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值