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

cc2640r2f 硬件定时器 power saving

cc2640r2f硬件定时器实现最小定时20us。关掉宏定义power saving, 20-100us发送一次翻转电平。一组数据翻转10次,10毫秒发送一次数据。同时关掉蓝牙广播,发送一段时间之后,会出现349.57毫秒的无数据发送现象,然后又恢复正常,又出现349.57毫秒的无数据发送现象。

发送io口初始化为

static PIN_Config send_out_config[] ={
gfx_50s_send_out_io | PIN_GPIO_OUTPUT_EN | PIN_INPUT_DIS | PIN_DRVSTR_MAX | PIN_PUSHPULL,
PIN_TERMINATE
};

硬件定时器初始化为

GPTimerCC26XX_Params timerParams;
GPTimerCC26XX_Params_init(&timerParams);
timerParams.width = GPT_CONFIG_16BIT;
timerParams.mode = GPT_MODE_PERIODIC_UP;
timerParams.debugStallMode = GPTimerCC26XX_DEBUG_STALL_OFF;
GPTimerCC26XX_Handle hTimer = GPTimerCC26XX_open(1, &timerParams);
object->hTimer = hTimer;

gfx_50s_b2c_st.data_point = 0;
gfx_50s_c2b_st.data_point = 0;
//gfx_50s_send_out_zero(gfx_50s_send_out_hPins, gfx_50s_send_out_io); GPTimerCC26XX_setLoadValue(object->hTimer, 1000);
GPTimerCC26XX_registerInterrupt(hTimer, gfx_50s_send_out_data, GPT_INT_TIMEOUT);
GPTimerCC26XX_start(object->hTimer);

同时,请问如何实现打开power saving,同时可以使用硬件定时器。 这边打开power saving之后,使用不了硬件定时器

Viki Shi:

低功耗模式下,定时器关闭,见下图:

zhiwu hu:

回复 Viki Shi:

那请问有没有办法不打开宏定义开关power saving,使用某个函数控制cc2640r2f进入或者退出低功耗模式

zhiwu hu:

回复 Viki Shi:

因为必须使用到cc2640r2f的硬件定时器。谢谢了

Viki Shi:

回复 zhiwu hu:

可以用以下两个函数:
Power_setConstraint();//不进入低功耗

Power_releaseConstraint();//释放

更具体的使用方法请参考power management手册:www.ti.com/…/sprui20.pdf

zhiwu hu:

回复 Viki Shi:

谢谢,上面两个函数解决了在打开power saving的模式下,使用硬件定时器的问题。但是在发送数据一段时间(大概30秒)之后,总会有300多毫秒的死机现象,硬件定时器的定时失效了,之后便是规律性的发送两组数据有300毫秒的死机。请问你们知道是什么原因吗?

zhiwu hu:

回复 Viki Shi:

请问能不能降低蓝牙的优先级

Viki Shi:

回复 zhiwu hu:

据我所知,不能

赞(0)
未经允许不得转载:TI中文支持网 » cc2640r2f 硬件定时器 power saving
分享到: 更多 (0)