在实际应用中,经常要根据不同的使用环境和需求来提高或者降低 Zigbee 模块的发射功率。接下来介绍如何在协议栈中修改 CC2530 普通模块和带 CC2591 PA 芯片的 CC2530 模块的发射功率。
1、带 CC2591 PA 芯片的模块功率表:

2、CC2530 普通模块的功率表:

设置功率的函数是:MAC_INTERNAL_API uint8 macRadioSetTxPower(uint8 txPower)

如果要修改功率,不用管函数前面如何索引功率表,只须在功率参数更新前把我们想要改的值赋给 reqTxPower 。

Susan Yang:
谢谢分享!
gaoyang9992006:
之前看的有人问这个问题,今天我找来教程分享给大家。
Viki Shi:
感谢分享
VV:
回复 gaoyang9992006:
gaoyang9992006
从结果上来看没问题,但是还是建议不要touch太底层的函数。
建议使用下面的API函数操作。How to set output transmit power
Use ZMacSetTransmitPower() API as described in "Z-Stack API" as follows:uint8 ZMacSetTransmitPower( ZMacTransmitPower_t level );
However depending on the hardware platform, the input value might be put as the maximum threshold (see macRadioDefsTxPwrBare[] or macRadioDefsTxPwrCC2591[] or macRadioDefsTxPwrCC2590[]) in mac_radio_defs.c for the hardware specific transmit power table).
TI中文支持网