红外发射接收,可以用来做遥控器。

2019-08-13 23:35发布

看到网上铺天盖地的红外解码程序,但是发射的却是不多,有也是通过while死循环来实现的,破坏了程序的实时性。正好最近做了个案子,需要通过红外通信传输温度,就来和大家讲讲吧。
1、红外通信协议:9ms低电平+4.5ms高电平+8位设备码+8位设备码反码+8位数据码+8位数据码反码+500us低电平+25ms高电平,发码的时候循环发送以上数据。这里说明一下,正规的遥控器会有重复码,我这里没有发送重复码。想深入研究的,可以网上阅读NEC协议相关的资料,自行添加重复码发送功能。
2、单片机用的是STM32F030单片机,具体的请看程序和原理图吧。主要部分都添加了注释,不懂的下面跟帖回复。
3、红外发送信号是用定时器17,单片机的管脚PB7,产生38K的PWM波,占空比为高/低=2/1。红外解码用的是PB6外部中断加定时器14解码的。
程序注释的应该够清楚了,感兴趣的同学并且不懂的就跟帖说明哈。如果对程序结构有什么疑问,可以参考网址:http://www.openedv.com/posts/list/22281.htm

好了,下面是大家最想看的的源码和图纸了,希望对大家有帮助。有了这个,再加一个USB逻辑分析仪,可以自己做万能红外遥控器了,嘎嘎。



友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
mkkop
1楼-- · 2019-08-14 13:06
 精彩回答 2  元偷偷看……
不再等待
2楼-- · 2019-08-14 18:53
我是个新手,但看完你对switch函数的运用,不得不佩服,程序还在学习中

一周热门 更多>