初识中断
概述
想要让设备能够快速的反应和简单的编程吗? 使用中断是一个好的想法。
前述章节主要讲述了任务的使用与设计,包括任务的管理、任务间通信、任务间共享资源的保护等。操作系统提供了易于使用的任务管理机制,以及丰富的通信组件、共享资源的保护方法。那么,我们使用操作系统提供的这些功能就能设计出符合我们期望的嵌入式系统吗?
答案是否定的,因为仅仅依赖任务,设备只能按照约定去执行一个设计好的功能,不具备处理任何突发事件的能力,也无法感知外界正在发生的事情,这样的设备实际上是很少的。
为什么中断是必要的
大部分情况下,我们需要依赖设备的中断功能来实现处理突发事件、感知外部事件的能力。
中断是设备自身的功能,如同一个人用于五官一样。人类用五官了解外界正在发生什么,设备通过中断判断外界正在发生什么。有的设备带摄像头就能看见外部的事物,有的不带摄像头就无法看到外部的事物一样。
通过中断机制,在外设不需要CPU介入时,CPU可以执行其他任务,而当外设需要 CPU 时通过产生中断信号使 CPU 立即停止当前任务转而来响应中断请求。这样可以使CPU避免把大量时间耗费在等待、查询外设状态的操作上,因此将大大提高整体系统的实时性以及执行效率。