1
完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
请问下,我要设定CC3200的一个定时器同时开启边沿捕获中断和溢出中断。我改怎么设定。
还有就是如何设定溢出时间。我需要捕获的是红外信号。将红外信号高低电平宽度记录下来,进行分析! |
|
相关推荐
14个回答
|
|
红外信号是模拟电平吧?这是需要开启 ADC 功能吗?
|
|
|
|
是红外遥控信号,NEC红外编码那种。波就是不同宽度的高低电平。想用定时器边沿捕获把高低电平的时间存储下来,然后解码。 |
|
|
|
在CC2530上面我已实现定时器时钟1MHz 开启双边沿捕获中断,和定时器溢出中断。当有边沿出发时,启动溢出中断。每收一个红外信号溢出中断计数变量清0,当溢出中断次数超过3次时,退出捕获模式完成红外接收。接下来进行解码。现在我就是想用CC3200实现这样的功能,通过WIFI能对接到手机上。 |
|
|
|
请问捕获的是什么红外码? 是固定编码方式还是任意编码方式!? 固定编码方式应该是可以解析的, 但是任意编码方式有什么方法可以解析!? |
|
|
|
主要目的是做个WIFI的万能红外遥控,只要把波记录下来就行。现在主要是CC3200定时器不大会用,主要是捕获定时器时钟如何分频。不同的红外遥控选择不同的时钟。 |
|
|
|
MAP_TimerPrescaleSet(TIMERA2_BASE,TIMER_A,10);这应该是对时钟进行分频吧。我写这段和不写这段没什么区别。 |
|
|
|
60user130 发表于 2018-5-14 11:50 你是不带码库? |
|
|
|
嗯,直接将波形存下来。然后通过WIFI发到手机,手机可解码也可不解码。要CC3200发送红外数据时,只要手机将存储数据原封不动的传到CC3200让它发送就可以了。 |
|
|
|
Nutcracker: 请问下这函数 TimerPrescaleSet(TIMERA2_BASE,TIMER_A,80); 是不是把Timer2 A通道进行80分频。80M / 80 = 1M 如果是的话,我加这段代码和不加捕获的值是一样的。 而且这函数 MAP_TimerValueGet(TIMERA2_BASE,TIMER_A); 的返回值 BIT16~BIT23位的值始终在变。看文档这8位好像是分频系数才是 |
|
|
|
60user130 发表于 2018-5-14 12:39 我也遇到同样问题, MAP_TimerValueGet(TIMERA2_BASE,TIMER_A); 的返回值 BIT16~BIT23位的值始终在变。看文档这8位好像是分频系数才是。 后来你的问题解决了吗 |
|
|
|
vitamin维他命 发表于 2018-5-14 12:49 解决了,CC3200的定时器分频只是用限制捕获溢出时间的,不管怎么分频。捕获到了时间都是80M在计时的,这里的分频和CC2530或者STM32的捕获分频不一样。 所以CC3200的捕获时间计算都要按照80M来。 |
|
|
|
60user130 发表于 2018-5-14 12:59 你好,我之前做红外信号接收、发射也是用cc2530,。 现在也准备用cc3200做。 能请教你一下,你是怎么做的吗? SDK中有很多sample。 你是参考了那个sample? |
|
|
|
我前面也提出了同样的问题,好像一个定时器不能同时使能边沿捕获中断和溢出中断,但是可以再使用一个定时器B(边沿捕获用A,最好是用定时器2)
设成溢出中断,两个定时器设成一样的配置及计时数,同时启动,中断入口设成同一个入口,就可以解决。 void TimerCaptureCount() [ // // Enable pull down // // MAP_PinConfigSet(PIN_05, PIN_TYPE_STD_PD, PIN_STRENGTH_6MA); // // Register timer interrupt hander // MAP_TimerIntRegister(TIMERA2_BASE, TIMER_A, Timer2ABIntHandler); MAP_TimerIntRegister(TIMERA2_BASE, TIMER_B, Timer2ABIntHandler); // // Configure the timer2A in edge count mode and Timer2B periodic timer //定时器2A边沿捕获模式,定时器2B周期模式 MAP_TimerConfigure(TIMERA2_BASE, (TIMER_CFG_SPLIT_PAIR | TIMER_CFG_A_CAP_TIME | TIMER_CFG_B_PERIODIC)); // MAP_TimerConfigure(TIMERA2_BASE, (TIMER_CFG_SPLIT_PAIR | TIMER_CFG_A_CAP_TIME)); // // Set the detection edge //上升沿 MAP_TimerControlEvent(TIMERA2_BASE, TIMER_A, TIMER_EVENT_POS_EDGE); // // Set the reload value // MAP_TimerLoadSet(TIMERA2_BASE, TIMER_A, 0xffff); MAP_TimerPrescaleSet(TIMERA2_BASE, TIMER_A, 0Xff); MAP_TimerLoadSet(TIMERA2_BASE, TIMER_B, 0xffff); MAP_TimerPrescaleSet(TIMERA2_BASE, TIMER_B, 0Xff); // // Enable TimerA capture event interrupt and TimerB time out interrupt //使能A事件及B溢出中断 MAP_TimerIntEnable(TIMERA2_BASE, TIMER_CAPA_EVENT | TIMER_TIMB_TIMEOUT); // // Enable Timer 同时启动AB MAP_TimerEnable(TIMERA2_BASE, TIMER_BOTH); ] |
|
|
|
juwyewerq 发表于 2018-5-14 13:26 我也是用cc3200 timer_cc 这个例子, 在pin4 接入了 红外接收模块, 但都不进中断, 我不知道为什么? |
|
|
|
只有小组成员才能发言,加入小组>>
358 浏览 1 评论
551 浏览 2 评论
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
797 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
667 浏览 1 评论
对于多级放大电路板,在PCB布局中,电源摆放的位置应该注意什么?
1142 浏览 1 评论
AT32F407在USART2 DMA发送数据时,接包接到了要发送的数据,程序还是处于等待传输完成的标识判断中,为什么?
95浏览 29评论
383浏览 23评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
268浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
217浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
74浏览 13评论
小黑屋| 手机版| Archiver| 德赢Vwin官网 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-31 02:35 , Processed in 0.791422 second(s), Total 70, Slave 64 queries .
Powered by 德赢Vwin官网 网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号