程序查询方式和程序中断方式的区别

程序查询方式和程序中断方式的区别,第1张

一、方式不同:

程序查询方式是主机与外设间进行信息交换的最简单方式。输入输出完全通过CPU执行程序来完成。而程序中断方式无需等待查询,外设在做好输入输出准备时,向主机发中断请求,主机接到请求后就暂时中止原来执行的程序,转去执行中断服务程序对外部请求进行处理。

二、含义不同:

中断程序在程序开始定义中断入口地址,初始化中必须打开中断允许位,程序运行时不用判断溢出状态位,溢出后硬件清零;查询方式在程序运行时必须判断溢出状态位,溢出后须软件清零。

程序查询方式

一旦某一外设被选中并启动后,主机将查询这个外设的某些状态位,看其是否准备就绪,若外设未准备就绪,主机将再次查询;若外设已准备就绪,则执行一次I/O *** 作。

这种方式控制简单,但外设和主机不能同时工作,各外设之间也不能同时工作,系统效率很低,因此,仅适用于外设的数目不多,对I/O处理的实时要求不那么高,CPU的 *** 作任务比较单一,并不很忙的情况。

以上内容参考:百度百科-程序查询方式

尽管需要具体问题具体分析,还是有一些基本的规律的:中断通常用于高优先级,高响应性,低频度业务,串口的接收就是一个典型轮询通常用于低优先级,低响应性,高频度大数据量业务,键盘扫描是一个典型但是这不是绝对的,通常情况是中断与轮询相配合,例如定时功能,在定时器中断里设置标志位,程序主任务里轮询该标志位,做具体 *** 作。键盘扫描也通常是外部中断记录按下了哪个键,轮询在做进一步的扫描处理(例如去抖功能)。对于一楼的补充,轮询可能根本不需要 *** 作中断,故而不一定要置位/清零标志位对于二楼的补充,不是所有的中断都需要外部管脚作为触发源,例如UART,USB都是如此


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11240509.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存