stm32学习笔记05中断和事件

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

猜你喜欢

转载自www.cnblogs.com/qingningyu/p/12318363.html