微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI无线射频设计 > 关于CC1310模块始用Radio不能睡眠的问题

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

时间:12-23 整理:3721RD 点击:

我调用 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);
}

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

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

我用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就能睡眠了!

您可以用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

这个Demo也睡不下去

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

你可以在线跟一下

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

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

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

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

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

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

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top