【原创】zstack - 协议栈程序精简日志-led灯驱动移植

【原创】zstack - 协议栈程序精简日志-led灯驱动移植

闲来无事测试zstack协议栈的记录。

led灯程序修改的很少,协议栈程序默认支持4个led灯,其中一个为联网指示灯,其他三个为用户led灯,我们修改的话只需要修改用户灯即可。我的板子上有两个led灯,分别位于端口P1.0 P1.1 ,端口输出低电平时灯亮,端口输出高电平时,灯灭。

1、hal_board_cfg.h文件修改下面的内容:

/* 1 - Green */
#define LED1_BV           BV(0)
#define LED1_SBIT         P1_0
#define LED1_DDR          P1DIR
#define LED1_POLARITY     ACTIVE_LOW

/* 2 - Red */
#define LED2_BV           BV(1)
#define LED2_SBIT         P1_1
#define LED2_DDR          P1DIR
#define LED2_POLARITY     ACTIVE_LOW

#if defined (HAL_BOARD_CC2530EB_REV17)
  /* 3 - Yellow */
  #define LED3_BV           BV(4)
  #define LED3_SBIT         P1_4
  #define LED3_DDR          P1DIR
  #define LED3_POLARITY     ACTIVE_HIGH
#endif

2、修改项目配置,添加HAL_LED预定义,如下:
【原创】zstack - 协议栈程序精简日志-led灯驱动移植_第1张图片

3、添加测试程序如下:

void SampleApp_HandleKeys( uint8 shift, uint8 keys )
{
  (void)shift;  // Intentionally unreferenced parameter
  char tmp[]="key-test!\n";
  if ( keys & HAL_KEY_SW_1 )
  {
    HalLcdWriteString("check key1", HAL_LCD_LINE_3 );//LCD显示
    HalLedBlink( HAL_LED_2, 4, 50, 1000 );
  }
  if ( keys & HAL_KEY_SW_2 )
  {
    HalLcdWriteString("check key2", HAL_LCD_LINE_3 );//LCD显示
    HalLedSet(HAL_LED_1, HAL_LED_MODE_TOGGLE);
  }
}

4、移植完成。

你可能感兴趣的:(嵌入式)