嵌入式学习笔记19.12.13

异常:中断


各中断:

异常向量表(各个异常子程序入口)

__reset__handler(!!handler)


.s第一条栈顶指针

下一条reset handler


异常->

1.保护现场(压栈)

2.返回地址+4(压栈)(值为当前地址的下一个地址)

3.PC->ISR

4.出栈,读地址,读现场


ISR中断子程序


异常向量表(灰色异常,白色中断)

异常为系统中断,中断为用户中断


另一个MPU内存保护单元


中断嵌套控制器(NVIC)

1.优先级高可以打断优先级低的


①设置优先级组(0-4五组情况)

A)抢占式优先级

B)响应

                0         1         2         3         4

抢占         0         1         2         3         4

                          0-1      0-3     0-7     0-15

响应         4         3         2         1         0

                         0-15     0-7     0-3     0-1


嵌入式学习笔记19.12.13_第1张图片

数字越小,优先级越高

抢占是用来中断嵌套的(抢占优先级高的可以打断优先级低的)

在抢占优先级相同的时候,同时两个中断到达,响应高的先执行,响应低的后执行

当都相同时,看表中的位置谁在前


嵌入式学习笔记19.12.13_第2张图片

1. 优先级组

2. 优先级(抢占、响应)

3. 使能


EXTI外部中断:

EXTI触发条件:

1. 上升沿


2. 下降沿


3. 双边沿


中断会引发中断子程序,要核

事件event会引发硬件与硬件之间的联动,不需要核


使用中断的方式实现案件控制灯颜色变换


PA0----EXTI0


IT interrupt中断


PWM脉宽调制(直流电机调速)用数字信号产生电压输出效果



嵌入式学习笔记19.12.13_第3张图片

占空比:有效电平/周期


嵌入式学习笔记19.12.13_第4张图片

总结:


1.中断模型

2. 中断布局

中断向量表(地址!!)

3. [中断管理

NVIC:1.设置优先级组2.抢占/响应3.使能


EXTI(23个,其中16个中断线,与GPIO组一一映射)

触发条件:上升沿/下降沿/双边沿

你可能感兴趣的:(嵌入式学习笔记19.12.13)