红外遥控器接收实验:CubeMX配置底层软件
文章目录
- 1 实验目标
- 2 硬件及原理分析
- 2.1 红外遥控原理
- 2.2 红外信号解析方案
- 2.3 配置参数分析
- 3 配置流程
- 3.1 创建项目
- 3.2 时钟配置
- 3.3 定时器输入捕获配置
- 3.4 串口配置
- 3.5 生成代码
- 4 红外解析相关代码
- 4.1 相关HAL库函数
- 4.2 红外解析代码
- 4.3 USART3串口打印配置
- 4.4 测试验证
- 5 总结
1 实验目标
本文是《红外遥控器接收实验》的第二部分,会通过图文结合的方式,手把手带读者操作STM32CubeMX工具进行配置,同时在每一步之后讲解该配置的原因。
相比《LED灯闪烁实验》和《直流减速电机控制实验》,本实验配置方案有所不同。
- 配置定时器输入捕获及中断
- 在中断回调函数中手写代码解析红外信号
2 硬件及原理分析
2.1 红外遥控原理
当用户按下红外遥控器上的某个按钮时,红外接收器会受到一大串0和1组成的二进制脉冲信号。
市面上常见的红外遥控器和接收器(如上图所示),一般都是NEC编码形式的脉冲信号。关于NEC编码形式,网上有很多资料,本文对其原理作简要总结。
- 当用户按下红外遥控器上某个按键时,接收器首先会产生一个9ms的低电平和4.5ms的高电平,这一组电平称为“引导码”,表示接下来会收到按键对应的编码
- 接下来就会收到32个先低电平后高电平的组合,代表32个2进制数;