1、中断和事件的区别:https://www.cnblogs.com/smartjourneys/articles/7363114.html
向量中断和非向量中断还是有点不懂https://www.cnblogs.com/yanglin1228/archive/2011/02/14/4812067.html
2、中断和异常:
中断与异常有什么区别:
1、中断:系统停止当前正在运行的程序而转向其他服务,可能是因为优先级高的请求
服务了,或者是因为人为安排中断。中断是属于正常现象。
异常:是由于软件错误而引起的
2、中断是CPU所具备的功能 -- 硬件
异常是软件运行过程中的一种开发过程中没有考虑到的程序错误 -- 软件
3、
1)中断的概念
所谓中断是指CPU对系统发生的某个事件作出的一种反应:CPU暂停正在执行的程序,保留现场后自动地转去执行相应的处理程序,处理完该事件后再返回断点继续执行被“打断”的程序。
引起中断的事件称为中断源,中断源向CPU提出进行处理的请求称为中断请求。
2)中断类型
按中断事件来源进行分类,主要有两类:
(1)中断。由CPU以外的事件引起的中断,如I/O中断、时钟中断、控制台中断等。
(2)异常(exception)。来自CPU的内部事件或程序执行中的事件引起的过程。如由于CPU本身故障、程序故障和请求系统服务的指令引起的中断等。
3、响应优先级的理解:https://blog.csdn.net/DLUTXIE/article/details/7059184?locationNum=4
4、中断向量表
5.手册一些内容的解读
中断和异常向量
中断与异常是ARM内核的东西,需要深入了解可以看《Cortex-M3权威指南》
这里分析stm32中的中断向量表的使用与查询
表中的几个重要参数:
位置:配置中断是,告诉CPU中断的位置
名称:外设请求的中断名称,详情可以看“说明”字段
优先级:当同时发生多个中断请求时,CPU需要一种合理高效的调度模式,决定处理各个中断请求的次序(抢占优先级,响应优先级)
以表中的EXTI0说明:
这里需要配置EXTI0上的中断,即当EXTI0线上发生上升沿或者下降沿(可配置)时,我们需要CPU跳转到相应的中断服务函数中执行我们想执行的任务,可以这样配置:
- 设置NVIC的中断位置为6
- 设置边沿触发模式(上升沿/下降沿/双边沿)
- 适当的时候在EXTI0上产生触发信号,激活中断执行中断服务函数
关于产生EXTI0触发信号
查阅外部中断通用I/O映射可以知道,通过配置GPIO[x]0连接到EXTI0线
框图
- 配置1-3 + NVIC响应中断使能 可以触发硬件的外部中断
- 配置2-3 + NVIC响应中断使能 可以触发软件的外部中断
- 配置1-4可以触发硬件的外部事件(事件可用于sleep mode唤醒等)
- 配置2-4可以触发软件的外部事件。
6、EXIT库函数和寄存器
A)
B)
7、NVIC
A)
B)
C)暂时看不懂:http://news.eeworld.com.cn/mcu/article_2016073027989.html
D)
不懂怎么办这个。
活动位和待处理位以及标识符是啥??
E)配置的文章:https://www.cnblogs.com/zhangshenghui/p/5333034.html
https://www.cnblogs.com/zhangshenghui/p/5333034.html
https://blog.csdn.net/u014449366/article/details/52717299
来源:https://www.cnblogs.com/qingningyu/p/12318363.html