zstack-休眠无法的唤醒
在 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_EDGEBITBV(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_ICTLBITBV(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以后,什么
也唤不醒了,电流一下起来,很低又下去!都搞了好几天
~~~各位大神帮帮看看!
木有人回复! 你的200ms是怎么产生的?定时器?
把定时发送的代码发上来,要不然让神也看不出来问题 majialou 发表于 2014-9-15 13:08
你的200ms是怎么产生的?定时器?
把定时发送的代码发上来,要不然让神也看不出来问题 ...
是这样的!我用外部唤醒前用串口助手定时200ms向 CC2530发的 用串口去唤醒单片机?你说的外部唤醒是按键吗
页:
[1]