初级会员

- 积分
- 106
- 金钱
- 106
- 注册时间
- 2015-3-25
- 在线时间
- 10 小时
|
1金钱
本帖最后由 fghjhuang 于 2018-6-27 14:15 编辑
现在想做一个可以接收红外信号,然后保存下来,需要的时候发送出去的设备,使用stm32f103c8,
思路:用市场上通用的调制38k红外信号的接收头接收红外数据,然后stm32使用下降沿触发中断计算红外数据的高低电平时间,然后保存下来,需要的时候使用tim2_ch2产生的38khz的PWM发送出去;
遇到难题:
1.接收红外的时候不知道怎么计算高低电平时间,38khz的波形应该是26u一周期,但是网上的代码都是20u地计算,所以不知道怎么算
2.接收的时候是否应该用数组,例如uint8 rev_data[300],300字节的数组去保存,rev_data[0]:代表低电平20u?26u?的个数,然后rev_data[1]:代表高电平20u?26u?的个数,然后rev_data[2]:代表低电平20?26u?的个数。。。。这样算吗?
3.如果按照问题2的算法去发送的话就比较方便,但是是否还有其他方式呢?
4.按照这样的思路是否就可以学习到38k频率的所有的红外遥控器的码呢?以后如果搞个50k的遥控器学习,是否直接换一个50khz的红外接收头就可以了呢?
谢谢各位大佬
|
|