嵌入式中断简介

中断简介

中断 interrupt 

中断是一种电信号,当设备有某种事件发生时,它就会产生中断,通过总线把电信号发送给中断控制器。如果中断的线是激活的,中断控制器就把电信号发送给处理器的某个特定引脚。处理器于是立即停止自己正在做的事,跳到中断处理程序的入口点。

中断是为了满足系统的实时性。

在单片机中的,程序从main函数开始执行,从头执行到尾。一种情况:若是在函数开始时写一个判断是否来消息的函数,那么当函数执行到中间,就算来了消息也不会及时处理,而是等待while循环一轮代码执行完毕,第二次循环时才会处理这条消息,但循环的执行时间可能是很长,于是对消息的处理就没有了实时性。于是就引入了中断,中断是由硬件实现的,当中断事件产生会自动执行中断函数。那我们初始化一个接收消息的中断函数,那么无论函数执行到哪里了,当接收消息后,则触发中断,执行中断函数,处理消息后,继续执行while循环里面未执行的函数。

其他情况:人机交互,软硬件的消息处理,状态判断等等全都需要中断

中断的类型与使用

从中断产生的方式的角度来看,中断可以分为软中断和硬中断。

软中断就是由程序通过执行特定指令来主动产生,如汇编语言中的INT指令。将指令写入中断寄存器

硬中断就是由硬件信号来自动触发,如外部设备的中断请求信号。

在嵌入式中,芯片提供了各种中断,在芯片手册里说明。中断向量表里有详细的介绍

如上表(举例是STM32F405xx/07xx 和 STM32F415xx/17xx 的向量表)

 中断的名称和中断函数是由库文件提供的,不同的中断对应着不同的功能。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值