STM32单片机入门学习笔记——中断系统、外部中断

STM32的中断系统包括68个可屏蔽中断通道,由NVIC统一管理,每个中断通道有16个优先级。中断类型包括外部中断EXTI、定时器TIM、ADC、USART等。NVIC提供抢占优先级和响应优先级的分组设置,用于处理中断嵌套。EXTI可用于监测GPIO引脚电平变化,支持多种触发方式。中断配置涉及RCC时钟开启、GPIO配置、AFIO选择、EXTI配置和NVIC优先级设定。在中断函数中应注意保持简洁快速,避免长时间操作。

笔记整理自B站UP主江科大自化协教程《STM32入门教程-2023持续更新中》,所用单片机也为教程推荐单片机。

中断的定义

中断就是在正常主程序执行的某个时刻,发生了中断触发条件,比如对于外部中断来说,可以是引脚发生了跳变;对于定时器来说,可以是定时的时间到了;对于串口通信来说,可以是接收到了数据。

STM中断

68个可屏蔽中断通道(中断源),F1系列最多的中断数量,包含EXTI(外部中断)、TIM(定时器)、ADC(模数转换器)、USART(串口)、SPI通信、I2C通信、RTC实时时钟等多个外设

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

内核的中断

Reset:复位中断,当产生复位事件时,程序就会自动执行复位中断函数

这些内核中断我们一般用不到

WWDG:Window Watchdog,窗口看门狗,用来监测程序运行状态的的中断,比如程序卡死了没有及时喂狗,窗口看门狗就会申请中断,让你的程序跳到窗口看门狗的中断程序里,在中断程序里就可以进行一些错误检查

PVD:电源电压监测,如果供电电压不足,PVD电路就会申请中断

EXTI0~EXTI4、EXTI9_5、EXTI15_10:外部中断对应的中断资源

程序中的中断函数地址是由编译器来分配的,是不固定的,中断跳转只能跳到固定的地址执行程序,所以为了能让硬件跳转到一个不固定的函数里,需要在内存中定义一个地址的列表,这个列表地址是固定的,中断发生后,就跳到这个固定位置,然后在这个固定位置由编译器再加上一条跳转到中断函数的代码,这样中断跳转就可以跳转到任意位置了。

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

NVIC的基本结构

NVIC:Nested Vectored Interrupt Controller嵌套中断向量控制器,内核外设要在Cortex-M3编程手册找

它的作用前面提到过:统一分配中断优先级和管理中断

NVIC是内核外设,是CPU的“小助手”,NVIC可以看做是“医院的叫号系统”,CPU可以看做是“医生”,

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AoXin_TechJZ.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值