TI中文支持网
TI专业的中文技术问题搜集分享网站

cc3200 pwm 产生38khz 红外信号

请教一下大家, 看了pwm sample ,还是有些不理解。

1、cc3200 怎么产生一个38khz的 载波?

2、怎么把红外信号附加上去?

Terry Han:

首先将CC3200的timer配置为PWM模式,参考TI的Demo-example/pwm分配PWM的时钟,将输出PWM的周期设置为38kHz占空比50%;

其次可以将UART信号直接并联到红外38kHz的载波上,将数据进行传输,在接收方就会收到UART串口的信号。

Terry Han:

可以参考之前有个类似的帖子的讨论:

http://www.deyisupport.com/question_answer/wireless_connectivity/wifi/f/105/t/106542.aspx

th smi:

回复 Terry Han:

上面的帖子就是我发的, 请问一下,后面怎么把红外数据附加到这个38khz 上面了?

Terry Han:

回复 th smi:

红外串口UART发射端口电路图可参考:

该图中红外发射管和串口UART接口电路,红外通讯发送通过CC3200UART串口发送数据,然后与CC3200产生的PWM信号迭加后驱动红外发射管发光,电路中串接的两个红外发射管(LED4和LED5)是为了增强发射信号。

Terry Han:

回复 th smi:

补充一点,关于红外接收的UART设计可以参考如下电路,针对不同的红外接收芯片需要查看具体的接收电路连接特点,如下的电路仅作参考。

th smi:

回复 Terry Han:

一般不是通过串口来吧? 现在程序里有一组红外数据(红外信号 高低电平持续时间), 需要 迭加到38khz的 载波里, 请问怎么做了?

th smi:

回复 Terry Han:

请问,只用一个引脚可以吗? 我看了cc2530 hal_irgen_NEC.c ,只用了p1_1

Terry Han:

回复 th smi:

可以通过串口传输数据也可以通过其他方式传输,如果不用串口传输就用你自己的红外数据(红外信号 高低电平持续时间)这个数据换掉上图中TX的信号线,通过通用的GPIO口延时的方式来发送数据。

th smi:

回复 Terry Han:

可以加你为好友吗? 你 qq 微信 多少?

th smi:

回复 Terry Han:

你好,请问一下。  这是参考的  pwm sample 来做的。  

这样产生的38khz 正确吗?

 #define TIMER_INTERVAL_RELOAD   2105 #define DUTYCYCLE_GRANULARITY   1052 

产生38khz后,需要按高低电平持续时间,发射红外信号的延时方式 正确吗?

while(1) { MAP_UtilsDelay(8000); MAP_TimerDisable(TIMERA2_BASE,TIMER_B); MAP_UtilsDelay(800000);

MAP_TimerLoadSet(TIMERA2_BASE,TIMER_B,TIMER_INTERVAL_RELOAD);/*TIMER_INTERVAL_RELOAD = 80Mhz/38khz = 2105 */ 这里需要重新设置吗? MAP_TimerMatchSet(TIMERA2_BASE,TIMER_B,DUTYCYCLE_GRANULARITY);/*DUTYCYCLE_GRANULARITY = 1052 占空比50%*/ MAP_TimerEnable(TIMERA2_BASE,TIMER_B); }

赞(0)
未经允许不得转载:TI中文支持网 » cc3200 pwm 产生38khz 红外信号
分享到: 更多 (0)