请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:CC1310 工具/软件:TI-RTOS
您好,团队
我对射频命令:的执行有一些疑问
1.rf_runCmd (rfHandle、(rf_Op*)&rf_cmdPropRxSniff、rf_PriorityNormal、&callback、rf_EventRxEntryDone);
使用 runcmd 执行命令时、任务是否会在此 API 中阻止?
中断是先执行还是先执行状态?
/*记录 RX_Sniff 状态*/
switch (rf_cmdPropRxSniff.status){
PROP_DONE_IDLE 情况:
/*基于 RSSI 的空闲*/
worStatistics.tonIde++;
中断;
案例 PROP_DONE_IDLETIMEOUT:
/*基于 PQT 的空闲*/
worStatistics.donIdleTimeout++;
中断;
案例 PROP_DONE_RXTIMEOUT:
/*在空中获得有效前导码,但未找到同步字*/
worStatistics.tonRexTimeout++;
中断;
案例 PROP_DONE_OK:
/*接收到的数据包*/
worStatistics.tonosk++;
中断;
默认值:
/*未处理状态*/
中断;
};
//调用每个接收到的数据包和命令完成*/
void callback (rf_handle h、rf_CmdHandle ch、rf_EventMask e)
{
/*如果我们收到了一个新的数据包,它可以读出*/
IF (e 和 RF_EventRxEntryDone)
{
操作
{
/*在 RX 上切换 LED */
PIN_setOutputValue (ledPinHandle、Board_PIN_LED1、!PIN_getOutputValue (Board_PIN_LED1));
/*获取当前未处理的数据输入*/
currentDataEntry = RFQueue_getDataEntry();
/*处理位于¤tDataEntry->data 的数据包数据:
*-长度是当前配置的第一个字节
*-数据从第二个字节开始*/
电池组长度 =*(uint8_t*)(¤tDataEntry->data);
packetDataPointer =(uint8_t*)(¤tDataEntry->data+1);
/*添加此代码块是为了避免编译器警告。
*通常,应用程序将引用这些变量
*有用数据。 *
虚拟= packetLength + packetDataPointer[0];
} while (RFQueue_nextEntry ()= data_entry_finished);
}
}