红外接收器设置方法

本文介绍了红外接收器的设置方法,包括外部中断触发方式的设定,定时器的配置以计算红外信号的时间间隔,以及如何根据定时器计数解析接收到的数据。还详细讨论了如何确定红外单位周期的最大值和最小值,确保正确识别不同数据位。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 设置外部中断触发方式:根据波形设置接收的第一个沿为触发中断的方式,如下图红外发送为上升沿,则接收设置为下降沿触发。

2. 设置定时器。定时器的作用是计算两个外部中断的时间间隔,以此来解析接收的数据。因此设置的时间间隔要大于最大的外部中断间隔时间,如下图最长的有为27T≈7.5ms,定时器应设置>8ms

3. 下降沿触发中断后,先读取当前的定时器计数,根据读取的计数判断发送的是起始码、数据0、数据1还是尾码,然后清计数重新开始计时。

上图尾码只触发定时器开始计数,当时间超过定时器时间后,触发定时器中断,认为此包数据结束。

4. 计算红外单位周期计数的最大值和最小值

遥控红外单位时间277us.本例中输入频率9.6MHz,16分频(16分频的目的是计数不会太大,不能太小,太小不准确),设置定时器为8ms定时器,则定时器最大计数=8000/(16/9.6)=4800,则一个T计数次数Count=277/(8000/4800)= 166.2 ,计算最大值和最小值需满足两个条件:

(UnitCountmax/UnitCountmin) < 2  和   UnitCountmax+UnitCountmin = 2*Count

计算出UnitCountmax = 222,UnitCountmin = 110.

UnitCountmax不能比UnitCountmin*2大,因此需要调整UnitCountmax

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值