1、中断系统
中断触发条件举例:
(1)对于外部中断,可以是引脚发生了电平跳变
(2)对于定时器,可以是定时时间到了
(3)对于串口通信,可以是接收到了数据
一般中断程序都在一个子函数里,不需要我们自己调用,当中断来临时,由硬件自动调用这个函数。
2、STM32中断
包含EXTI,TIM,ADC,USART,SPI,I2C,RTC等多个外设中断。
使用NVIC统一管理中断,每个中断通道都拥有16个可编程的优先等级。
中断向量表:
每个中断都有一个中断地址,这个地址有什么作用呢?
程序中的中断函数,它的地址是由编译器来分配的,是不固定的。
中断跳转,由于硬件的限制,只能跳转到固定的地址执行程序。
为了能让硬件跳转到一个地址不固定的中断函数里,需要在内存中定义一个地址的列表。
这个列表的地址是固定的,中断发生后,就会跳到这个固定位置(地址列表)。
然后由固定位置,由编译器,再加上一条跳转到中断函数的代码。
这就实现了中断跳转至地址不固定的中断函数里。
3、NVIC基本结构及分组
NVIC叫做嵌套中断向量控制器,用来统一分配中断优先级和管