请问下,我要设定CC3200的一个定时器同时开启边沿捕获中断和溢出中断。我改怎么设定。
还有就是如何设定溢出时间。我需要捕获的是红外信号。将红外信号高低电平宽度记录下来,进行分析!
Nutcracker:
红外信号是模拟电平吧?这是需要开启 ADC 功能吗?
Yang Patrick:
回复 Nutcracker:
是红外遥控信号,NEC红外编码那种。波就是不同宽度的高低电平。想用定时器边沿捕获把高低电平的时间存储下来,然后解码。
Yang Patrick:
回复 Nutcracker:
在CC2530上面我已实现定时器时钟1MHz 开启双边沿捕获中断,和定时器溢出中断。当有边沿出发时,启动溢出中断。每收一个红外信号溢出中断计数变量清0,当溢出中断次数超过3次时,退出捕获模式完成红外接收。接下来进行解码。现在我就是想用CC3200实现这样的功能,通过WIFI能对接到手机上。
user1878904:
回复 Yang Patrick:
请问捕获的是什么红外码? 是固定编码方式还是任意编码方式!?
固定编码方式应该是可以解析的, 但是任意编码方式有什么方法可以解析!?
Yang Patrick:
回复 user1878904:
主要目的是做个WIFI的万能红外遥控,只要把波记录下来就行。现在主要是CC3200定时器不大会用,主要是捕获定时器时钟如何分频。不同的红外遥控选择不同的时钟。
Yang Patrick:
回复 user1878904:
MAP_TimerPrescaleSet(TIMERA2_BASE,TIMER_A,10);这应该是对时钟进行分频吧。我写这段和不写这段没什么区别。
user1878904:
回复 Yang Patrick:
你是不带码库?
Yang Patrick:
回复 user1878904:
嗯,直接将波形存下来。然后通过WIFI发到手机,手机可解码也可不解码。要CC3200发送红外数据时,只要手机将存储数据原封不动的传到CC3200让它发送就可以了。
Yang Patrick:
回复 Nutcracker:
Nutcracker:
请问下这函数 TimerPrescaleSet(TIMERA2_BASE,TIMER_A,80);
是不是把Timer2 A通道进行80分频。80M / 80 = 1M
如果是的话,我加这段代码和不加捕获的值是一样的。
而且这函数 MAP_TimerValueGet(TIMERA2_BASE,TIMER_A); 的返回值 BIT16~BIT23位的值始终在变。看文档这8位好像是分频系数才是
鹤啸九天:
回复 Yang Patrick:
我也遇到同样问题, MAP_TimerValueGet(TIMERA2_BASE,TIMER_A); 的返回值 BIT16~BIT23位的值始终在变。看文档这8位好像是分频系数才是。
后来你的问题解决了吗