主题中讨论的其他部件:CC1101,CC1020
工具/软件:TI-RTOS
我想使用Carrier-Sense命令扫描多个信道,以使用RSSI阈值进行活动。 为了了解什么是合理的阈值,我需要对信道上检测到的RSSI提供一些反馈。
目前,我设置了如下所示的命令链:
cmd_FS [设置信道频率]-> CMD_CS [空闲时等待最长2毫秒,忙碌时立即退出]-> CMD_GET_RSSI [立即命令]-> CMD_FS_OFF[关闭无线电]
这是通过TIRTOS线程中的RF_runCmd函数执行的。
我的问题是,所有RSSI测量值返回-128 (0xFF80)。
是否有办法使用类似这样的命令链获取我需要的RSSI数据,或者我是否需要弄清楚如何异步执行?
CMD_CS命令的参数为:
静态RFC_CMD_PROP_CS_t RF_Scan_cmdCs =
{
.commandNo = CMD_PROP_CS,
.status = 0x0000,
.pNextOp =(RFC_RADIOP_t *)&RF_Scan_cmdReadRSSI,
.StartTime = 0x0万,
.startTrigger.triggerType = 0x0,
.starttrigger.b EnaCmd = 0x0,
.startTrigger.triggerNo = 0x0,
.startTrigger.PastTrig = 0x0,
.condition.rule = cond_always,
.condition.nSkip = 0x0,
.csFSConf = 0, //保持RF打开,独立于载波检测
.csConf.bEnaRssi = 1,
.csConf.bEnaCorr = 0,
.csConf.operation = 0,
.csConf.busyOp = 1, //如果检测到忙状态,则停止载波检测
.csConf.idleOp = 0, //只要处于空闲状态,就保持扫描
csConf.timeoutRes = 1, //如果超时,将无效结果视为空闲
.rssiThr =-100, //以-60 dB的RSSI阈值开始
numRssiIdle = 2,
numRssiBusy = 2,
//在我们启动载波检测操作后,将结束触发器设置为2毫秒。
.csEndTrigger.TriggerType = TRig_REL_START,
.csEndTime = 8000,
};