【原创】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预定义,如下:
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、移植完成。