打印
[应用相关]

谈谈关于红外遥控接收程序的疑问?看到都在用中断处理,延时等待检测,没有效率可言

[复制链接]
238|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
麻花油条|  楼主 | 2022-12-7 09:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
关于红外遥控接收程序的疑问?看到都在用中断处理,延时等待检测,这不是浪费系统时间吗?没有效率可言了.

今天看了下红外遥控的接收处理程序,不尽感慨下
发现都是用下降沿中断进入中断,然后中断中进行数据的处理
数据处理中又用了delay(9000)这样类似的延时等待,然后在检测....
这样的话,中断时间其实可就长达30ms多了,每一次检测红外值都要浪费在中断中30ms
这是什么概念!
完全木有效率可言了啊.

谁有更实用的红外遥控接收处理程序啊.

有点想法:可以先定义一个数据处理函数,还是用中断进行数据的检测,但是中断中的delay用定时器做,即开定时器时间,写一个定时标志,这个标志定义中断程序执行到了哪个delay,下次定时时间到了后,执行数据处理函数,直接跳转到上一次delay的地方继续处理,这样时间就剩下来了.

使用特权

评论回复
沙发
jf101| | 2022-12-7 09:32 | 只看该作者
老铁,想法挺好的,实际试一下呗,看看结果怎么样?理论上这些延时只不过是时序的控制

使用特权

评论回复
板凳
sonicll| | 2022-12-7 13:45 | 只看该作者
楼主你这个想法有点操作系统时间片轮循的意思了,可以尝试

使用特权

评论回复
地板
MessageRing| | 2022-12-7 15:46 | 只看该作者
这个想法挺有意思

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

262

主题

1394

帖子

2

粉丝