OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5738|回复: 6

PWM调制红外发射实验求教

[复制链接]

27

主题

87

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
263
金钱
263
注册时间
2013-2-22
在线时间
10 小时
发表于 2015-1-23 14:35:53 | 显示全部楼层 |阅读模式
5金钱
如何用PWM调制红外发射?现已将PWM生成38KHZ的载波,PWM的占空比1/3。我要如何控制PWM的开关来调制红外发射呢?比如:我要发射一个数据10,INFRA_ENABLE_38K为PWM 38KHZ使能,INFRA_DISABLE_38K为PWM 38KHZ关闭,delay_us(n)为us级延时,delay_ms(n)为毫米级延时。我所采用的协议为NEC协议。那么我应该如何调用这几个函数来完成发送数据10?
如果只有这几个函数还不行的话,那么我还应该加上些什么?

最佳答案

查看完整内容[请看2#楼]

楼主  我之前做的红外发射的  就是用一个定时器通道产生PWM波  如果发射的数据是高  就设置PWM的比较值  如果发射的是低  就将比较的值设为0  时间就是用你说的延时函数
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

8

主题

44

帖子

0

精华

初级会员

Rank: 2

积分
96
金钱
96
注册时间
2014-5-5
在线时间
0 小时
发表于 2015-1-23 14:35:54 | 显示全部楼层
楼主  我之前做的红外发射的  就是用一个定时器通道产生PWM波  如果发射的数据是高  就设置PWM的比较值  如果发射的是低  就将比较的值设为0  时间就是用你说的延时函数
回复

使用道具 举报

10

主题

561

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1830
金钱
1830
注册时间
2014-6-27
在线时间
980 小时
发表于 2015-1-23 14:53:30 | 显示全部楼层
你的这种方法是可以的吗,你可以写个编码函数,传递什么就发送什么就行了。
回复

使用道具 举报

27

主题

87

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
263
金钱
263
注册时间
2013-2-22
在线时间
10 小时
 楼主| 发表于 2015-1-24 10:08:11 | 显示全部楼层
回复【3楼】cha1992:
---------------------------------
怎么设置啊,INFRA_DISABLE_38K为比较值为0,能否告诉我具体怎么搞?比如我要发送数据10,二进制码为1010,具体要把这个数据发出去应该怎么弄?
回复

使用道具 举报

8

主题

44

帖子

0

精华

初级会员

Rank: 2

积分
96
金钱
96
注册时间
2014-5-5
在线时间
0 小时
发表于 2015-1-24 11:45:59 | 显示全部楼层
比如说发送1对应5ms高,2ms低,那么你就在5ms高的时候TIM_SetCompare1(TIM4,13);接着可以延时5ms。然后就是2ms低,TIM_SetCompare1(TIM4,0);延时2ms。如果发送的是0,同理。
回复

使用道具 举报

27

主题

87

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
263
金钱
263
注册时间
2013-2-22
在线时间
10 小时
 楼主| 发表于 2015-1-24 12:04:35 | 显示全部楼层
回复【5楼】cha1992:
---------------------------------
哦,谢谢,我试试
回复

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
14
金钱
14
注册时间
2019-8-6
在线时间
4 小时
发表于 2019-8-12 15:36:14 | 显示全部楼层
楼主,你好,红外发射弄好了吗,能分项下吗,谢谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-7 16:15

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表