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

关于CC1310模块始用Radio不能睡眠的问题

我调用 extern RF_EventMask RF_runCmd(RF_Handle h, RF_Op* pOp, RF_Priority ePri, RF_Callback pCb, RF_EventMask bmEvent);这个接口,如果把 RF_Op* pOp这个参数设为小于余或等于416M的时候CC1310就能睡眠下去,设为大于416M的时候CC1310就不睡眠了,我们要用的通讯频率为433M。请求各位大神指教该如何解决!!!代码如下:

void vSetRadioFreq(rfc_CMD_FS_t *ptFs, float fWorkFreq)
{
uint16_t usInteger;
float fFract;

usInteger = (uint16_t)fWorkFreq;
fFract = (float)(fWorkFreq – (float)usInteger);
ptFs->frequency = usInteger;//整数部分=整数.
ptFs->fractFreq = (uint16_t)(fFract*65535.0);//小数部分=小数部分*65535;

// ptFs->frequency = 416;//整数部分=整数.
// ptFs->fractFreq = 0.920013;//小数部分=小数部分*65535;
/* Set frequency */
RF_runCmd(rfHandle, (RF_Op*)ptFs, RF_PriorityNormal, &callback, 0);
}

麻烦各位大前辈帮忙看看,谢谢!!!

Susan Yang:

用Radio不能睡眠?没太理解您的意思

b x:

回复 Susan Yang:

我用CC1310做一个需要有低功耗的产品,需要用到Radio功能,当我初始化Radio任务后CC1310就不睡眠了,经我层层查找原因,最终发现是调用extern RF_EventMask RF_runCmd(RF_Handle h, RF_Op* pOp, RF_Priority ePri, RF_Callback pCb, RF_EventMask bmEvent);这个接口设备通讯频率造成的,把这个接口屏蔽后CC1310就能睡眠了!

Alvin Chen:

回复 b x:

您可以用SmartRF 导入一个433Mhz的试一下WOR的demo。

// Frequency Synthesizer Programming Command
rfc_CMD_FS_t RF_cmdFs =
{.commandNo = 0x0803,.status = 0x0000,.pNextOp = 0, // INSERT APPLICABLE POINTER: (uint8_t*)&xxx.startTime = 0x00000000,.startTrigger.triggerType = 0x0,.startTrigger.bEnaCmd = 0x0,.startTrigger.triggerNo = 0x0,.startTrigger.pastTrig = 0x0,.condition.rule = 0x1,.condition.nSkip = 0x0,.frequency = 0x01B1,.fractFreq = 0xEB85,.synthConf.bTxMode = 0x0,.synthConf.refFreq = 0x0,.__dummy0 = 0x00,.__dummy1 = 0x00,.__dummy2 = 0x00,.__dummy3 = 0x0000,
};

WOR路径为:C:\ti\simplelink_cc13x0_sdk_1_00_00_13\examples\rtos\CC1350_LAUNCHXL\drivers

b x:

回复 Alvin Chen:

这个Demo也睡不下去

Alvin Chen:

回复 b x:

参考一下这个:https://e2e.ti.com/support/wireless_connectivity/proprietary_sub_1_ghz_simpliciti/f/156/t/613823

Felix ZF:

回复 Alvin Chen:

你可以在线跟一下

看看这条命令能执行成功吗?

也就是说,程序能跑到rf_runcmd的下一条语句吗?

b x:

回复 Felix ZF:

这条指令应该是能执行的吧,我设置频率后设备间都能正常通讯了,只是模块不睡眠而已,如果没执行这条命令的话设备之间应该是不能正常通讯的呀

Felix ZF:

回复 b x:

你是通过什么手段来判断是否进入休眠的呢?

b x:

回复 Felix ZF:

测模块的工作电流,模块睡眠后电流在10uA以内,几乎没有电流,没睡眠的时候模块工作电流有4~5mA左右

fenglin hu:

回复 b x:

您好,请问一下,你是怎么让cc1310进入睡眠状态的,是Task_sleep()吗?这个应该不是睡眠吧?

赞(0)
未经允许不得转载:TI中文支持网 » 关于CC1310模块始用Radio不能睡眠的问题
分享到: 更多 (0)