使用cc1310,配置成433M频段,ti给的例子rfEasyLink,里面是868MHz的。EasyLink_setFrequency(868000000);,如果要使用433M,请问除了修改这里还需要修改哪里吗?我修改了这里,程序运行时返回错误。
请指教!谢谢。
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
使用cc1310,配置成433M频段,ti给的例子rfEasyLink,里面是868MHz的。EasyLink_setFrequency(868000000);,如果要使用433M,请问除了修改这里还需要修改哪里吗?我修改了这里,程序运行时返回错误。
请指教!谢谢。
smartrf_settings.c里面,需要改几个override和几个settings。
安装最新的martrf studio 7, 然后用code export导出配置,把相关项合到你的.c里就好了。相关项你就是比较一下868和433的配置就好了。
BR. AZ
覆盖smartstudio导出的配置就可以了,不需要调用EasyLink_setFrequency,保持
EasyLink_init(EasyLink_Phy_Custom) 就可以了。如下附件供参考
我的意思是你还是要用原来可以编译过的,只是替换部分相关参数。
BR.AZ
只是改频率很简单,频率只跟工程里的文件smartrf_settings.c定义的两个结构体有关:
hi,Eggsy Pang
我试验了你的方法,还是有问题。就是只改动两个变量值,依然不能正常。
我尝试了这些方法(1)用smartRF studio2.4.3生成smartrf_settings.c,并对应着工程文件里面的smartrf_settings进行修改了变动的地方,依然无法正常运行;(2)复制TY上传的源代码,直接把工程文件里面的smartrf_settings.c覆盖掉,依然无法正常运行。
对比TY的smartrf_settings.c文件和smartRF studio生成的文件,改动地方是一样的。
最后,我在e2e.ti.com上面找到一篇帖子,http://e2e.ti.com/support/wireless_connectivity/proprietary_sub_1_ghz_simpliciti/f/156/p/501936/1889589#1889589,只修改这么几个地方,发现就可以正常运行了。
RF_cmdPropRadioDivSetup里面的:
.centerFreq = 0x01B1,
.loDivider = 0x0A,
RF_cmdFs里面的:
.frequency = 0x01B1,
如果不修改.loDivider = 0x0A,,就无法正常运行。
请问这是怎么回事?完全使用smartRF studio生成的文件来替换,不能正常运行,让我很困惑,我也尝试了很多次。
是的,不好意思,我遗漏了这一点,在433M情况下,.loDivider = 0x0A, 和868M的值不同,这个值主要是跟射频内部的驱动电流有关。smartRF studio请下载最新版本,我导出来使用是可以的。
hi, Eggsy Pang
感谢你的回答,请问一下我用smartrf studio生成的smartrf_settings.c文件里面,还改动了pOverrides里面的参数。
添加了字段:
// override_synth_disable_bias_div10.xml
// Synth: Set divider bias to disabled
HW32_ARRAY_OVERRIDE(0x405C,1),
// Synth: Set divider bias to disabled (specific for loDivider=10)
(uint32_t)0x18000280,
添加的这两句是disable divider,如果添加了是不是就会禁止loDivider的修改呢?
以及修改了
// Rx: Set RSSI offset to adjust reported RSSI by -2 dB
(uint32_t)0x000288A3,
868M对应的是:
// Rx: Set RSSI offset to adjust reported RSSI by +5 dB
(uint32_t)0x00FB88A3,
这应该是调整接收灵敏度吧?
Bolai,
芯片版本问题了吧?你是revA 还是RevB呢?http://www.ti.com/lit/er/swrz062b/swrz062b.pdf
BR.az
买不买得到,问一下代理商吧。后续应该都是RevB了。
你用flash programmer 2看一下吧。芯片信息里面有。PGxxxxx
你看一下你的代码,如果有如下内容,把他comment掉试一下。
// Set ANADIV.DIV_BIAS_MODE Disable
// Divider 10
// HW32_ARRAY_OVERRIDE(0x405C,1),//////////////////////////////////////////////
// (uint32_t)0x18000280,///////////////////////////////////////////////////////
(uint32_t)0xFFFFFFFF,
BR.AZ
hi~, AZ
按照你的提示,把下面这两句话注释掉
// override_synth_disable_bias_div10.xml
// Synth: Set divider bias to disabled
//HW32_ARRAY_OVERRIDE(0x405C,1),
// Synth: Set divider bias to disabled (specific for loDivider=10)
//(uint32_t)0x18000280,
然后添加:
(uint32_t)0xFFFFFFFF,
就可以收到信息了。
我之前直接注释掉上面两句,不添加(uint32_t)0xFFFFFFFF,不能收到数据。