关于红外遥控接收程序的疑问?看到都在用中断处理,延时等待检测,这不是浪费系统时间吗?没有效率可言了.
今天看了下红外遥控的接收处理程序,不尽感慨下
发现都是用下降沿中断进入中断,然后中断中进行数据的处理
数据处理中又用了delay(9000)这样类似的延时等待,然后在检测....
这样的话,中断时间其实可就长达30ms多了,每一次检测红外值都要浪费在中断中30ms
这是什么概念!
完全木有效率可言了啊.
谁有更实用的红外遥控接收处理程序啊.
有点想法:可以先定义一个数据处理函数,还是用中断进行数据的检测,但是中断中的delay用定时器做,即开定时器时间,写一个定时标志,这个标志定义中断程序执行到了哪个delay,下次定时时间到了后,执行数据处理函数,直接跳转到上一次delay的地方继续处理,这样时间就剩下来了.
|