微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI Zigbee设计交流 > CC2538 GPIO控制LED灯遇到奇怪问题

CC2538 GPIO控制LED灯遇到奇怪问题

时间:10-02 整理:3721RD 点击:

我用的zmesh-1.0.0,我有2个led接在了PC2,pc3上,分别对应HAL_LED_3和HAL_LED_4

经过单步跟踪调试发现:

uint8 ZMacReset( uint8 SetDefaultPIB )
{
byte stat;
byte value;
GPIODirModeSet(BSP_LED_BASE, BSP_LED_ALL, GPIO_DIR_MODE_OUT);
GPIOPinTypeGPIOOutput(BSP_LED_BASE, BSP_LED_ALL);
HalLedSet (HAL_LED_3, HAL_LED_MODE_ON);
HalLedSet (HAL_LED_4, HAL_LED_MODE_ON);
HalLedSet (HAL_LED_3, HAL_LED_MODE_OFF);
HalLedSet (HAL_LED_4, HAL_LED_MODE_OFF);

stat = MAC_MlmeResetReq( SetDefaultPIB );

GPIODirModeSet(BSP_LED_BASE, BSP_LED_ALL, GPIO_DIR_MODE_OUT);
GPIOPinTypeGPIOOutput(BSP_LED_BASE, BSP_LED_ALL);
HalLedSet (HAL_LED_3, HAL_LED_MODE_ON);
HalLedSet (HAL_LED_4, HAL_LED_MODE_ON);
HalLedSet (HAL_LED_3, HAL_LED_MODE_OFF);
HalLedSet (HAL_LED_4, HAL_LED_MODE_OFF);

在ZMacReset函数的MAC_MlmeResetReq调用之前,灯的点亮和熄灭是可以正常控制的,但函数MAC_MlmeResetReq执行完了之后,这2个灯就保持常亮,控制不了了

不知道MAC_MlmeResetReq函数跟GPIO还有什么关系?

去掉HAL_PA_LNA定义就好了,不过具体原因还不知道

这个看名字是控制外部PA、LNA的,应该是抢了你的IO设置。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top