单片机中查询和中断的本质区别?
答案:2 悬赏:30 手机版
解决时间 2021-11-09 00:54
- 提问者网友:聂風
- 2021-11-08 05:23
单片机中查询和中断的本质区别?
最佳答案
- 五星知识达人网友:一秋
- 2021-11-08 06:27
单片机内部由CPU RAM FLASH 以及外围电路和寄存器之类的东西组成,CPU是由数字逻辑电路构成的,基本数字逻辑门分为或门 与门 非门,通过这些门可以组成组合电路和时序电路。
查询方式就是CPU按照时钟周期一步一步地运行你的程序,由你的程序读取相应IO状态来判断事件是否发生,查询非常占用CPU的时间,而且速度会受限于时钟电路(通常是晶振),而中断方式也就是通过数字逻辑电路方式,外部产生一个脉冲,会触发数字逻辑电路动作,这通常是一瞬间的,速度仅仅依赖于门延迟,CPU收到中断请求后,会CALL中断服务程序,这通常只消耗1-4个指令周期,时间非常短
查询方式就是CPU按照时钟周期一步一步地运行你的程序,由你的程序读取相应IO状态来判断事件是否发生,查询非常占用CPU的时间,而且速度会受限于时钟电路(通常是晶振),而中断方式也就是通过数字逻辑电路方式,外部产生一个脉冲,会触发数字逻辑电路动作,这通常是一瞬间的,速度仅仅依赖于门延迟,CPU收到中断请求后,会CALL中断服务程序,这通常只消耗1-4个指令周期,时间非常短
全部回答
- 1楼网友:妄饮晩冬酒
- 2021-11-08 06:33
说一下个人的理解,
什么时候用中断,
一般的单片机中断响应时间也就是一个或两个机器周期这样,所以如果我们要处理的东西要求时间很严格,那就要在中断服务程式里来出来,比如常用的发送或接收异步通信数据,发送接收遥控信号, 等等. 这个时候就要用中断来做.
什么时候用查询
一般一些处理事件要求时间不是很严格的情况下,就可以用查询来做,比如键盘扫描,等等.
你说的例子,有些单片机,计时中断后还要重先赋值给计时器COUNTER.那是一定要中断来做的.
如果你只是想知道计时器是否有中断发生而已,那查询和中断都可以看到.所以中断相对查询而言不是提高效率,而是不同的处理事件要不同的做法来做才可以达到目的.当然如果你要处理的事件很简单,不会影响到中断服务程式的正常中断,那么在中断里处理的话,效率是很提高.
看你说的例子,应该就是某个事件 要求多少时间才处理,但要求的时间准确性不会很高,时间到了,给一个标志,查询到标志了,就去出来这个事件.
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯