笔记整理自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可以看做是“医生”,

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

被折叠的 条评论
为什么被折叠?



