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

CC2640R2 定时器计数值

我想请问下cc2640r2的定时器问题,就是例子中只有Util_constructClock函数用来定时,我想知道具体的计数值和清除计数值的情况,因为我想用定时器用来测量方波的长度,且长度在us级别。请问下有这方面的API吗

Viki Shi:

推荐使用GPTimer,API请参考:
dev.ti.com/…/_g_p_timer_c_c26_x_x_8h.html
dev.ti.com/…/_p_w_m_timer_c_c26_x_x_8h.html

卑鄙的信鸽:

回复 Viki Shi:

我看了链接和贴吧资料,然后配置了定时器初始化。在SimplePeripheral_init(void)初始化函数里添加进下面这个配置函数,然后运行,一直卡在while(1),说明这个定时器没有打开,是GPTimerCC26XX_open函数里面的参数有问题吗?

Viki Shi:

回复 卑鄙的信鸽:

猜测是你没有定义引脚,使用GPTimerCC26XX_open之前,先要用PIN_Config配置引脚,参考这边的例子: e2e.ti.com/…/684601

卑鄙的信鸽:

回复 Viki Shi:

你好,我看了你发的链接,里面有这样一段代码(cc1310),如下图,然后我也配置了PIN_Config pinTable[],然后运行,连if (ledPinHandle == NULL)都卡在while(1),我屏蔽这个if,在运行,结果还是卡在原来的if(hTimer==NULL)判断中。然后我想问,我开定时器的目的是为了测量波形宽度,即是比如我定时10ms秒,我想去测量几百us的方波长度,测量完后我想知道计数器的值(方波的宽度跑了多少个计数点),所以我配置这个引脚有什么用?

Viki Shi:

回复 卑鄙的信鸽:

1、这个代码是基于launchpad的,你的是自定义硬件吗?那可能跑不起来
2、需要引脚输入波形,才能用定时器测量

卑鄙的信鸽:

回复 Viki Shi:

你好,我把定时器初始化函数从SimplePeripheral_init(void)函数剪切到main()函数中,然后就可以了,这有点奇怪,位置不用,但本质上是一样的,暂时这个定时器算是实现了,谢谢。

Viki Shi:

回复 卑鄙的信鸽:

解决就好,不客气。SDK里有很多其他例程,帮助用户使用CC2640R2F的外设,更多内容请参考:
C:\ti\simplelink_cc2640r2_sdk_xxxx\examples\rtos\CC2640R2_LAUNCHXL\drivers

卑鄙的信鸽:

回复 Viki Shi:

你好,我再调试的时候还是遇到了问题,使用下面的代码发现在方波中还是只能检测上升沿,而不能类似于检测电平中断那样,这样的话我测不到方波的持续时间。

Viki Shi:

回复 卑鄙的信鸽:

请把代码发来我测一下

Viki Shi:

回复 Viki Shi:

我按照你的代码实测了一下,双边沿都可以触发,无法复现你的问题。硬件是launchpad,只跑GPTimer

赞(0)
未经允许不得转载:TI中文支持网 » CC2640R2 定时器计数值
分享到: 更多 (0)