微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI Zigbee设计交流 > cc2530-zstack 如何应用P1.2口控制一个LED灯闪烁?

cc2530-zstack 如何应用P1.2口控制一个LED灯闪烁?

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

我用的软件是IAR- E8051 -7.51A,协议栈是zstack-cc2530-v2.3.1-v1.4.0,模板文件是GenericApp。

程序中调用 HalLedBlink(HAL_LED_x, 2, 50, 500); (x=1或2)时都可以使板子led等闪烁。但是当x=3,即想让LED3灯闪烁时则不行呢?

我想仿照模板例程,自己定义一个P1.2,控制led,即LED5。我把最大LED数改为5:

#define  HAL_LED_DEFAULT_MAX_LEDS      5

其它定义也加了:

#define  LED5_BV   BV(2)
#define  LED5_SBIT   P1_2 
#define  LED5_DDR   P1DIR
#define  LED5_POLARITY   ACTIVE_HIGH

相关的 开/关/闪烁 也修改了:

#define  HAL_TURN_OFF_LED5()   st( LED5_SBIT = LED5_POLARITY (0); )

但是我调用下面函数时却没有让相应的I/O口出现高低变化的波形呢?

HalLedBlink (HAL_LED_5, 1, 50, 500);

#if  defined (HAL_BOARD_CC2530EB_REV17)  &&  !defined (HAL_PA_LNA)  &&  !defined (HAL_PA_LNA_CC2590)

#define HAL_NUM_LEDS   4

在hal_board_cfg.h中,上面参数原来是3,我修改为4了。

协议栈中虽然P1.2口没有用在LED上,但是用在LCD_CS的信号上面,具体你可以参考。

http://www.ti.com/lit/ug/swru210a/swru210a.pdf

http://www.ti.com/lit/ug/swru209b/swru209b.pdf

谢谢!问题找到了,是在void  HalLedOnOff  (uint8 leds, uint8 mode)函数里面没有进行相应的修改。

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

网站地图

Top