STM32 hal库使用笔记—红外遥控LED

本文详细介绍了如何使用STM32的HAL库配置时钟树和定时器,实现红外遥控器对LED灯的控制,通过PWM编码和定时器捕获技术解读红外信号,达到LED灯翻转的效果。

目录

一、简介

1.红外遥控简介

2.红外发射器和接收器简介

3.红外编解码协议简介

二、HAL库的配置

1.时钟树配置

2.定时器配置

 三、代码编写

 四、实验效果


实验目的:红外遥控LED灯翻转

实验平台:正点原子精英板

一、简介

1.红外遥控简介

   红外遥控是一种无线、非接触控制技术,具有抗干扰能力强,信息传输可靠,功耗低,成本低,易实现等显著优点,被诸多电子设备特别是家用电器广泛采用,并越来越多的应用到计算机系统中。 同类产品的红外线遥控器,可以有相同的遥控频率或编码,而不会出现遥控信号“串门”的情况。

2.红外发射器和接收器简介

  发射器:IR333C发出波长为940nm附近 导通时,IR333C发射红外光 不导通时,IR333C不发射红外光。

  接收器:IRM3638T接收波长为940nm 接收的载波频率为38kHz 当接收到红外载波信号时,OUT引脚输出低电平 当没有接收到红外载波信号时,OUT引脚输出高电平。

  载波周期:1s / 38KHz ≈ 26.3us

  载波发射周期:26.3us(一个周期) = 8.77us(发射红外光) + 17.53us(不发射红外光)

  载波不发射周期:整个周期内,不发射红外光

注意:红外载波信号由多个载波发射周期组成,并且OUT引脚输出的高低电平和协议中解析的高低电平含义不同。

3.红外编解码协议简介

  红外遥控的编码目前广泛使用的是:NEC Protocol 的PWM(脉冲宽度调制)和Philips RC-5 Protocol 的PPM(脉冲位置调制)。

  PWM(脉冲宽度调制):以红外载波的占空比表示‘0’和‘1’ 。发射红外载波的时间固定,通过改变不发射载波的时间来改变占空比。

  PPM(脉冲位置调制):以发射载波的位置表示‘0’和‘1’。从发射载波到不发射载波为‘0’,从不发射载波到发射载波为‘1’ ,发射载波和不发射载波的时间相同,都是0.68ms,每位的时间都是固定的。

  本次实验利用的PWM,利用定时器输入捕获,判断高电平的时间从而判断是“1”还是“0”。

  指令格式:

 注意:① 地址码、地址反码、控制码、控制反码均是8位数据格式       

            ② 按照低位在前,高位在后的顺序发送       

            ③ 采用反码是为了增加传输的可靠性(可用于校验)

二、HAL库的配置

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

乱码小伙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值