|
在 zstack 修改如下
在hal_key.c 中修改
/* SW_6 is at P0.1 */
#define HAL_KEY_SW_6_PORT P0
#define HAL_KEY_SW_6_BIT BV(4)//1—原为1
#define HAL_KEY_SW_6_SEL P0SEL
#define HAL_KEY_SW_6_DIR P0DIR
/* edge interrupt */
#define HAL_KEY_SW_6_EDGEBIT BV(0)
#define HAL_KEY_SW_6_EDGE HAL_KEY_FALLING_EDGE
/* SW_6 interrupts */
#define HAL_KEY_SW_6_IEN IEN1 /* CPU interrupt mask register */
#define HAL_KEY_SW_6_IENBIT BV(5) /* Mask bit for all of Port_0 */
#define HAL_KEY_SW_6_ICTL P0IEN /* Port Interrupt Control register */
#define HAL_KEY_SW_6_ICTLBIT BV(4)//1 /* P0IEN - P0.1 enable/disable bit */ 修改
#define HAL_KEY_SW_6_PXIFG P0IFG /* Interrupt flag at source */
hal_board_cfg.h
/* S1 */
#define PUSH1_BV BV(6)//BV(1)修改
#define PUSH1_SBIT P0_6//P0_1修改
OnBoard.C
/* Initialize Key stuff */
OnboardKeyIntEnable = HAL_KEY_INTERRUPT_ENABLE;//HAL_KEY_INTERRUPT_DISABLE;中断使能 修改
HalKeyConfig( OnboardKeyIntEnable, OnBoard_KeyCallback);
然后通过P04中断唤醒!
实验过程和问题
1. 在不编译POWER_SAVING时,通信正常
2. 当使能POWER_SAVING时 不编译NV_RESTORE
3. 网络里只有C与E
实验过程:
1. C上电
2. E上电
3. 然后发200MS发数据给串口,通过这RF发送线C
当把P04拉低时,电流上到26MA很快 又下到1.2ua这样
当刚入网时,在5分钟内拉低时然后用串口发数据,数据
全部错误,Packet Sniffer可以看到!当过了5以后,什么
也唤不醒了,电流一下起来,很低又下去!都搞了好几天
~~~各位大神帮帮看看!
|
阿莫论坛20周年了!感谢大家的支持与爱护!!
曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……
|