ZSTACK协议栈中CC2530+2591如何设置开启PA呢?
RT,协议栈类型ZStack-CC2530-2.3.0-1.4.0,2591引脚完全参照的是TI官方文档,只是在硬件层中,底板的两个LED灯分别定义了P1_1和P1_4,我参照TI官方的说明,修改了协议栈,但是2591似乎还是没有工作,请问这种情况下应该如何修改使PA工作呢?
您需要在 hal_board_cfg.h 内使能,去掉X
/* ------------------------------------------------------------------------------------------------
* CC2590/CC2591 support
*
* Define HAL_PA_LNA_CC2590 if CC2530+CC2590EM is used
* Define HAL_PA_LNA if CC2530+CC2591EM is used
* Note that only one of them can be defined
* ------------------------------------------------------------------------------------------------
*/
#define xHAL_PA_LNA
#define xHAL_PA_LNA_CC2590
我已经去掉了x的
您是否参考了 http://www.ti.com/lit/an/swra308a/swra308a.pdf 给出的设置?
我用的开发板是在网上购买的,原理图显示连线和TI官方相同的
请问下表
|
CC2530 |
REGISTER |
ADDRESS |
|
AGCCTRL1 |
0x61B2 |
0x15 |
|
FSCAL1 |
0x61AE |
0x00 |
|
RFC_OBS_CTRL0 |
0x61EB |
0x68 |
|
RFC_OBS_CTRL1 |
0x61EC |
0x6A |
|
TXPOWER |
0x6190 |
详见表4.6 |
|
OBSSEL1 |
0x6244 |
0xFB |
|
OBSSEL4 |
0x6247 |
0xFC |
|
P0DIR |
0xFD |
0x80 |
所述寄存器都需要修改吗?
1. HA_PA_LNA 和HAL_PA_LNA_CC2590只enable一个,你的情况应定义如下
#define HAL_PA_LNA
#define xHAL_PA_LNA_CC2590
2. 你的1.1和1.4 都是用于PA的, 这种情况 因disable LED.
是的!我就是这么想的,但是我不知道该怎么disable那两个LED,是在hal_boarf_cfg.h中直接删除LED的定义吗?
换成别的脚,或移除LED的define,然后编译,解决报错。
我没有2.5.1a,用的HA的版本,实际初始化LED就两个的地方,如下,debug一下,避免这些地方的调用
HAL_BOARD_INIT()
和
HalDriverInit() -> HalLedInit()
我删除了所有的LED的定义,可是LED还在闪....
或者您可以修改
/* Set to TRUE enable LED usage, FALSE disable it */
#ifndef HAL_LED
#define HAL_LED TRUE
#endif
#if (!defined BLINK_LEDS) && (HAL_LED == TRUE)
#define BLINK_LEDS
#endif
那就找到为什么LED会闪,你是用的没有任何修改的协议栈做的测试吗?还是网上哪下载的?
我用了很多方法,把LDE所有的都给注释掉了,哪怕把灯给禁用了,PA还是不能工作。可是我用点对点实验PA就能用....
1. 你可以去下最新的协议栈,然后只修改那个PA开启的定义
2. 你可以尝试用smartstudio直接控制,smartstudio是可以选择控制PA的。先看看硬件是否有问题。

我测试了下,硬件是正常的,用2591比不用2591大大约20dbm,现在用的是zstack2.5,烧SimpleApp是可以通信的,不过SimpleApp可以添加路由功能吗?我之前的代码是用SensorDemo改的,但是SensorDemo似乎不能在2.5版本下运行,请问有适用于zstack2.5的SensorDemo吗?
成功了,是原来的协议栈的问题,用了2.5对应的sensordemo可以使用了,谢谢TI诸位工程师的解答!
您好,请问后来您是怎么关掉LED灯,现在也卡在这了,望不吝赐教,万分感谢啊
我的问题已经解决,的确用TI的协议栈就可以开启PA,之前的问题是系统开启之后32MHz和32KHz的时钟没有同步,导致出错。现在通讯距离有很大提升,具体有待测量
