请教一下大家, 看了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); }