基于免费申请的STM32F072B_DISCOVERY开发板 对常用飞利浦RC-5(SAA3010)协议红外遥控器解码的测试,附源码供有需要的朋友参考。
SAA3010是使用RC-5编码,有2位起始位、1位控制位、系统码占5位、指令码占6位, 一帧数据共占14位。其控制位每按一次
按键便会翻转一次,在编制发射程序的时候一定要注意。
电路连接很简单说明如下。
脚连接说明:
1、串口使用STM32F072B_DISCOVERY开发板的USART1,管脚接PA9(TX)、PA10(RX)。
2、一体化红外接收头数据输出端连接STM32F072B_DISCOVERY开发板的PA8管脚。
功能说明:
红外遥控器的发射信号经一体化红外接收头数据端输出,由STM32F072B_DISCOVERY开发板的PA8端口采样(PA8配置为外部中断下降沿触发),由SysTick系统滴答定时器延时每20us采集一次,通过计数的方式得到一帧的所有低电平时间、高电平时间。通过对高、低电平时间的长短分析得出数据码IrDA_receive_Code,使用printf语句由《串口调试助手》显示RC-5红外编码格式的14位编码。
系统上电后LED3(红色)闪烁,已说明接收系统正在运行中。按遥控按键,LED4(橙色)点亮,说明已进入中断解码,解码完成后LED4(橙色)熄灭。
中断函数如下(其他部分与NEC解码基本相同。请参阅
STM32F072B_DISCOVERY开发板NEC红外编码格式解码程序源码