完善资料让更多小伙伴认识你,还能领取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 接入了 红外接收模块, 但都不进中断, 我不知道为什么? |
|
|
|
只有小组成员才能发言,加入小组>>
479 浏览 0 评论
普中科技F28335开发板每次上电复位后数码管都会显示,如何熄灭它?
343 浏览 1 评论
922 浏览 0 评论
TMS320F28377D:新做了以377d为芯片的板子,上电后芯片复位引脚出现方波请问如何解决?
2093 浏览 0 评论
TPS55340通电后输入端保险丝烧断,芯片输入和GND之间短路
3839 浏览 4 评论
CC3100BOOST使用CC3200lunchXL进行烧录
873浏览 2评论
112浏览 2评论
148浏览 2评论
123浏览 2评论
148浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-9-10 23:50 , Processed in 0.954620 second(s), Total 105, Slave 88 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191