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

CC2652R: Util中定时器工具使用

Part Number:CC2652R

参考SDK中的simple_peripheral中例程中其他定时器的创建方式同时创建了两个one-shot定时器(clockPeriod参数为0),其中一个定时5ms,另一个定时10000ms,并在SimplePeripheral_clockHandler中使用Util_startClock重新开启定时,参考SimplePeripheral_clockHandler中其他定时器方法。发现定时5ms的定时器在10000ms定时器执行之后便不会执行,即之后只会执行10000ms的定时器事件,并且10000ms定时器在第一次回调的时候执行了两次。

Util_constructClock(&ECGSampleTimer, SimplePeripheral_clockHandler,5, 0, true, (UArg)&ecgSample);Util_constructClock(&powerSampleTimer, SimplePeripheral_clockHandler,10000, 0, true, (UArg)&powerSample);

else if(pData->event == SP_ECG_SAMPLE_EVT)
 {//开启下一个定时5ms,好像有问题Util_startClock(&ECGSampleTimer);//传递事件到应用层SimplePeripheral_enqueueMsg(SP_ECG_SAMPLE_EVT, pData);
 }
 else if(pData->event == SP_POWER_SAMPLE_EVT){//开启下一个定时10000msUtil_startClock(&powerSampleTimer);//传递事件到应用层SimplePeripheral_enqueueMsg(SP_POWER_SAMPLE_EVT, pData);}

Kevin Qiu1:

是比较奇怪,one-shot只会执行一次,再此执行则需要重新开启

可能是其他地方影响了,你新建一个工程,单独测试一下定时器部分看看

,

Daoming Liu:

我回去试试,现在调试过程又发现定时器回调的时向回调函数传递的参数混乱了。我自定义的event(SP_POWER_SAMPLE_EVT)标志触发了app中默认的其他事件,很迷惑。switch写法确定是没有问题的。

,

Daoming Liu:

Clock_Struct定义定时器有数量限制吗?

,

Daoming Liu:

没有自己用ICall_malloc就不要往SimplePeripheral_enqueueMsg传入pData。

,

Kevin Qiu1:

感谢分享

赞(0)
未经允许不得转载:TI中文支持网 » CC2652R: Util中定时器工具使用
分享到: 更多 (0)