基于stm32C8T6的红外遥控器制作 stm做遥控器

本文介绍了基于STM32C8T6的红外遥控器制作,详细讲解了如何利用定时器生成38KHz PWM波形作为载波,以及红外编码协议中的数据发送函数实现。通过调整占空比和延时,实现了NEC红外编码的‘1’和‘0’发送。
摘要由CSDN通过智能技术生成

此程序是根据正点原子stm32f1系列  PWM输出实验  改编而来。

关于红外通信的原理这就不再赘述,大家可百度,资料很多。

也可以参考http://blog.csdn.net/wujiangguizhen/article/details/11966167

我这里就主要讲讲我在改写时遇到的困难。

首先,关于载波:载波的产生是这个实验的关键,在这里载波就是用定时器产生一个38KHZ的pwm输出。红外接收器对于38KHZ的红外信号灵敏度最高。

在这里,当红外发射管以38KHZ的频率发射红外线时,接收端接收到红外线,并自动解码,此时红外接收器的电平为低(初始值为高电平,即没有接收到信号的状态)。

对于NEC红外编码,要发送数据“1”,则只需要发送560微秒的红外线,和1690微秒的无信号。这样在接收端获取到的电平既为560us低电平和1690us的高电平,既为数据“1”的编码。

注:这里发射的红外信号的频率,应该在38KHZ左右。红外信号的频率,不是红外线的频率,光的频率肯定远不止38KHZ。

下面先来看看pwm的产生:

void TIM1_PWM_Init(u16 arr,u16 psc)
{  
 GPIO_InitTypeDef GPIO_InitStructure;

//GPIO_InitTypeDef GPIO_InitStructure;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值