你好!
请教一下,在ZHA1.2.2协议栈里如何修改发射功率?
谢谢!
注:Z-Stack Home 1.2.2协议栈,CC2530芯片,不加无线功放(PA)
Yue TANG:
value=3;
MAC_MlmeSetReq( MAC_PHY_TRANSMIT_POWER_SIGNED,&value);
或者
ZMacSetReq(MAC_PHY_TRANSMIT_POWER_SIGNED,&value)
value的值参考如下,最大3,最小-22
const uint8 CODE macRadioDefsTxPwrBare[] ={ 3, /* tramsmit power level of the first entry */ (uint8)(int8)-22, /* transmit power level of the last entry */ /* 3 dBm */ 0xF5, /* characterized as 4.5 dBm in datasheet */ /* 2 dBm */ 0xE5, /* characterized as 2.5 dBm in datasheet */ /* 1 dBm */ 0xD5, /* characterized as 1 dBm in datasheet */ /* 0 dBm */ 0xD5, /* characterized as 1 dBm in datasheet */ /* -1 dBm */ 0xC5, /* characterized as -0.5 dBm in datasheet */ /* -2 dBm */ 0xB5, /* characterized as -1.5 dBm in datasheet */ /* -3 dBm */ 0xA5, /* characterized as -3 dBm in datasheet */ /* -4 dBm */ 0x95, /* characterized as -4 dBm in datasheet */ /* -5 dBm */ 0x95, /* -6 dBm */ 0x85, /* characterized as -6 dBm in datasheet */ /* -7 dBm */ 0x85, /* -8 dBm */ 0x75, /* characterized as -8 dBm in datasheet */ /* -9 dBm */ 0x75, /* -10 dBm */ 0x65, /* characterized as -10 dBm in datasheet */ /* -11 dBm */ 0x65, /* -12 dBm */ 0x55, /* characterized as -12 dBm in datasheet */ /* -13 dBm */ 0x55, /* -14 dBm */ 0x45, /* characterized as -14 dBm in datasheet */ /* -15 dBm */ 0x45, /* -16 dBm */ 0x35, /* characterized as -16 dBm in datasheet */ /* -17 dBm */ 0x35, /* -18 dBm */ 0x25, /* characterized as -18 dBm in datasheet */ /* -19 dBm */ 0x25, /* -20 dBm */ 0x15, /* characterized as -20 dBm in datasheet */ /* -21 dBm */ 0x15, /* -22 dBm */ 0x05 /* characterized as -22 dBm in datasheet */};
yuanfeng luo:
回复 Yue TANG:
你好!
我按照你的方法,调用了函数都不可以,空旷距离不到10米(终端与协调器之间的距离),请问怎么解决呀?
求大神指导!!!
我用ZHA1.2.2协议栈:Z-Stack Home 1.2.2.42930,终端是endDeviceEB工程,CC2530芯片。
以下是我调用两个地方,距离都是失败的。
1、在int main( void )调用了不可以
int main( void )
{
[…….]
// Initialize the MACZMacInit();
uint8 value=3;MAC_MlmeSetReq(MAC_PHY_TRANSMIT_POWER_SIGNED, &value);
// Determine the extended addresszmain_ext_addr();
[…….]
}
2、
在APP应用层zclSampleXXX_Init()初始化函数中调用也不可以。
VV:
回复 yuanfeng luo:
你直接使用下面的函数好了,
uint8 ZMacSetTransmitPower( ZMacTransmitPower_t level );level TX_PWR_PLUS_5这个函数可以放在应用层初始化的函数里。你要确定发射功率有没有正确配置的话,你可以调试模式下看下TXPOWER这个寄存器值
yuanfeng luo:
回复 VV:
你好!
我使用ZMacSetTransmitPower()调试了,距离还是不超10米,距离不可以,
硬件是网上买的开发板子,硬件不会有问题的。
这个如何处理呀!?
再次请大神们指教呀!
TXPOWER的值为0XF5,我在调试模式下看到的。请看附件谢谢!注:协议栈ZHA1.2.2(Z-Stack Home 1.2.2.42930),CC2530芯片模块
Yue TANG:
回复 yuanfeng luo:
0xf5值是对的。剩下的你确定两步:
1. 检查原理图,看控制PA的3个引脚分别是哪几个?是否于TI参考设计一致。
2. 你可以用smartstudio直接控制,不需要写代码,用频谱仪测一下输出功率