主题中讨论的其他器件: CC1350、 CC1101
大家好、
以下是客户的请求:
微基站 CC1310程序初始化后、其设置为433.2M 通道接收模式。 接收到射频数据后、通过串行端口将其转发出去。 同时、如果串行端口接收到数据、则通过433.6M 通道发送串行端口接收到的数据、并在发送完成后再次切换到433.2M 通道。
实验: 使用433.2M 通道标签以500ms 的时间发送射频数据。 连接微基站、调试工具和 TTL 到 USB、数据将按时序1s 发送到微基站的串行端口、 然后串行端口调试工具打印微型基站接收到的433.6M 通道的数据。 客户发现在运行该程序几个小时后、微基站的 RF 接收数据功能出现故障、但其 RF 发送数据功能仍然正常。 这种情况是否由开关时的频率合成异常引起? 客户应该怎么做、以下代码用于设置切换时的通道频率点:
void vSetRadioFreq(unsigned char v_Channel) { if(v_Channel != RF433_Channel1 && v_Channel != RF433_Channel2 && \ v_Channel != RF433_Channel3 && v_Channel != RF433_Channel4 && v_Channel != RF433_Channel5 ) return ; if(real_channel == v_Channel) return ; RF_cancelCmd(rfHandle, RF_CMDHANDLE_FLUSH_ALL, 1); HW_delay_ms(2); RF_yield(rfHandle);// Power down the RF Core to force a new setup command after it wakes up HW_delay_ms(5); RF_cmdFs.frequency = 0x01B1 ; RF_cmdFs.fractFreq = read_freq(v_Channel); //EASYLINK_RF_EVENT_MASK RF_postCmd(rfHandle, (RF_Op*)&RF_cmdFs, RF_PriorityNormal, NULL, 0); /* Set the frequency */ HW_delay_ms(5); real_channel = v_Channel ; RF_yield(rfHandle); }
您可以帮助检查此案例吗? 谢谢。
此致、
Nick