通用文件1—ZStack协议栈修改说明(指示灯按键部分)

上传人:油条 文档编号:2658386 上传时间:2017-07-26 格式:PDF 页数:4 大小:108.17KB
返回 下载 相关 举报
通用文件1—ZStack协议栈修改说明(指示灯按键部分)_第1页
第1页 / 共4页
通用文件1—ZStack协议栈修改说明(指示灯按键部分)_第2页
第2页 / 共4页
通用文件1—ZStack协议栈修改说明(指示灯按键部分)_第3页
第3页 / 共4页
通用文件1—ZStack协议栈修改说明(指示灯按键部分)_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《通用文件1—ZStack协议栈修改说明(指示灯按键部分)》由会员分享,可在线阅读,更多相关《通用文件1—ZStack协议栈修改说明(指示灯按键部分)(4页珍藏版)》请在金锄头文库上搜索。

1、协议栈实验 北京希望慧联科技有限公司 希望微控工作室 第 1 页 共 4 页 Z-Stack协议栈协议栈协议栈协议栈底层底层底层底层修改修改修改修改(指示灯按键部分指示灯按键部分指示灯按键部分指示灯按键部分) 1.1 修改修改修改 修改 hal_board_cfg.h 修改文件名: hal_board_cfg.h,位置如下图:红色部分为修改或者增加的代码 ( (1 1) )修改指示灯配置 修改指示灯配置修改指示灯配置修改指示灯配置 /* 1 - Green */ #define LED1_BV BV(0) #define LED1_SBIT P1_0 #define LED1_DDR P1DI

2、R #define LED1_POLARITY ACTIVE_LOW /原值为 ACTIVE_HIGH #if defined (HAL_BOARD_CC2530EB_REV17) /* 2 - Red */ #define LED2_BV BV(1) #define LED2_SBIT P1_1 #define LED2_DDR P1DIR #define LED2_POLARITY ACTIVE_LOW /值为 ACTIVE_HIGH /* 3 - Yellow */ #define LED3_BV BV(4) #define LED3_SBIT P1_4 #define LED3_DDR

3、 P1DIR #define LED3_POLARITY ACTIVE_LOW /值为 ACTIVE_HIGH #endif ( (2 2) )修改按键配置 修改按键配置修改按键配置修改按键配置 协议栈实验 北京希望慧联科技有限公司 希望微控工作室 第 2 页 共 4 页 /* S1 */ #define PUSH1_BV BV(1) #define PUSH1_SBIT P0_1 #if defined (HAL_BOARD_CC2530EB_REV17) #define PUSH1_POLARITY ACTIVE_LOW /原值为 ACTIVE_HIGH #elif defined (HA

4、L_BOARD_CC2530EB_REV13) #define PUSH1_POLARITY ACTIVE_LOW #else #error Unknown Board Indentifier #endif /* 自定义按键 K3 , XWHL 添加 */ #define PUSH3_BV BV(2) #define PUSH3_SBIT P1_2 #define PUSH3_POLARITY ACTIVE_LOW . . /* - Push Buttons - */ #define HAL_PUSH_BUTTON1() (PUSH1_POLARITY (PUSH1_SBIT) #define

5、 HAL_PUSH_BUTTON2() (PUSH2_POLARITY (PUSH2_SBIT) #define HAL_PUSH_BUTTON3() (PUSH3_POLARITY (PUSH3_SBIT) /添加自定义按键 1.2 修改修改修改 修改 hal_Key.c 修改文件名: hal_Key.c,位置如下图:红色部分为修改或者增加的代码 ( (1 1) )增加按键 增加按键增加按键增加按键 K3 K3 的响应代码的响应代码的响应代码的响应代码 /* SW_6 is at P0.1 */ 协议栈实验 北京希望慧联科技有限公司 希望微控工作室 第 3 页 共 4 页 #define H

6、AL_KEY_SW_6_PORT P0 #define HAL_KEY_SW_6_BIT BV(1) #define HAL_KEY_SW_6_SEL P0SEL #define HAL_KEY_SW_6_DIR P0DIR /* SW_7 is at P1.2 */ /XWHL 增加代码,用于按键 K3 设置 #define HAL_KEY_SW_7_PORT P1 #define HAL_KEY_SW_7_BIT BV(2) #define HAL_KEY_SW_7_SEL P1SEL #define HAL_KEY_SW_7_DIR P1DIR 在函数 HalKeyInit( void

7、)中添加 HAL_KEY_SW_6_SEL &= (HAL_KEY_SW_6_BIT); /* Set pin function to GPIO */ HAL_KEY_SW_6_DIR &= (HAL_KEY_SW_6_BIT); /* Set pin direction to Input */ /XWHL 增加代码,初始化按键 K3 HAL_KEY_SW_7_SEL &= (HAL_KEY_SW_7_BIT); /* Set pin function to GPIO */ HAL_KEY_SW_7_DIR &= (HAL_KEY_SW_7_BIT); /* Set pin direction

8、 to Input */ 函数 void HalKeyPoll (void)修改为以下,注意,将按键 K1 和 K3 的检测代码前移了一下。 void HalKeyPoll (void) uint8 keys = 0; if (HAL_KEY_JOY_MOVE_PORT & HAL_KEY_JOY_MOVE_BIT) /* Key is active HIGH */ keys = halGetJoyKeyInput(); if (HAL_PUSH_BUTTON1() /底板的 K1 keys |= HAL_KEY_SW_6; /XWHL 添加代码,用于响应按键 K3 if (HAL_PUSH_

9、BUTTON3() /底板的 K3 keys |= HAL_KEY_SW_7; /* If interrupts are not enabled, previous key status and current key status * are compared to find out if a key has changed status. */ if (!Hal_KeyIntEnable) if (keys = halKeySavedKeys) /* Exit - since no keys have changed */ return; /* Store the current keys

10、 for comparation next time */ 协议栈实验 北京希望慧联科技有限公司 希望微控工作室 第 4 页 共 4 页 halKeySavedKeys = keys; else /* Key interrupt handled here */ /* Invoke Callback if new keys were depressed */ if (keys & (pHalKeyProcessFunction) (pHalKeyProcessFunction) (keys, HAL_KEY_STATE_NORMAL); ( (2 2) )去掉游戏键响应代码 去掉游戏键响应代码去

11、掉游戏键响应代码去掉游戏键响应代码 函数 uint8 halGetJoyKeyInput(void)中修改,使得该函数直接返回 0,因为主板没有采用 Joy键,所以屏蔽该按键 /return ksave0; /XWHL 修改,屏蔽该代码,直接返回 0 return 0; 1.3 修改修改修改 修改 OnBoard.c 修改文件名: OnBoard.c,位置如下图:红色部分为修改或者增加的代 修改函数 void OnBoard_KeyCallback ( uint8 keys, uint8 state )使得 SW6 作为 Shift 键失效,仅作为按键 K1 使用。 void OnBoard_KeyCallback ( uint8 keys, uint8 state ) /shift = (keys & HAL_KEY_SW_6) ? true : false; shift = 0; /替换 .

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号