day5 STM32中断系统

中断的基本概念

在处理器中,中断是一个过程,即CPU正常执行程序的过程中,遇到外部或者内部的紧急时间需要处理,暂时终止当前程序的执行,转而去为处理紧急的时间,待处理完毕后再返回被打断的程序出继续往下执行。

中断在计算机多任务处理,尤其是即时系统中尤为重要,比如uCOS , FreeRTOS等。

总结:程序正常执行,收到中断请求,压栈保护现场,跳转到中断处理程序,处理完成出栈恢复现场,跳转回主程序中断处继续执行。

意义:

中断能提高CPU效率(但紧急事件频繁发生时还是轮询方式效率高),同时能突发事件做出实时处理。实现程序的并行化,实现嵌入式系统进程之间的转换。

由内核CORTEX - M0产生的中断一般称之为异常(一般由软件产生),片内外设产生的中断就叫做中断(一般由硬件产后),但他们都算是中断。

NVIC嵌套向量中断控制器:由他总管中断并判断中断类型发送给内核。

串口、定时器等片内外设分别管理自己对应的中断请求,最终发送给NVIC。

NVIC的主要功能

NVIC不是一个寄存器是一组。

1、中断管理:Cortex - M0处理器中,每个外部中断都可以被使能或者禁止,并且可以被设置为挂起状态(稍后处理)或者清除状态(已经处理完成)。处理器的中断可以是点评的形式,也可以是脉冲的形式,这样中断控制器就可以处理任何中断源。

2、支持异常及中断向量化处理:异常化向量处理中断的好处 ,M0处理器会从存储器的此昂量表中,自动定位异常的程序入口。从发生异常到异常的处理中间的时间被缩短。(直接在异常向量表中读取到异常的地址,不需要再去判断异常种类)

3、支持嵌套中断:

STM32F0中断优先级:3个固定的优先级,都是负值,不能改变。(异常编号值越小优先级越高)

四个可编程优先级,用两个bit位表示,00,  01, 10,11

优先级通过IPR配置

中断和事件的区别:事件一般是产生一个信号,这个信号可以触发CPU的一些功能,例如在CPU睡眠的时候对CPU进行唤醒;中断一般是有一个固定的中断处理函数入口,有一个固定的中断处理函数。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值