Z-Stack Mesh 1.0.0栈, 可周期睡眠的终端节点,周期5秒发送 data request 数据,电流约50UA级别。
但是程序不会进入 hal_sleep.c 文件的函数中断HAL_ISR_FUNCTION(halSleepTimerIsr, ST_VECTOR),我在HAL_ISR_FUNCTION(halSleepTimerIsr, ST_VECTOR)里面加调试用LED灯,发现LED灯不点亮,为何?
在hal_sleep.c 文件 的void halSleepSetTimer(uint32 timeout)函数里面加调试LED是可以点亮的
VV:
你好,你是怀疑节点在5s之间没有进入低功耗吗?
一般办法你可以通过测量32MHz晶振的波形,可以判断设备有没有进入低功耗,
另外一个办法你可以监测电流可以知道有没有进入低功耗。
Min Chen6:
回复 VV:
vv你好
我在做低功耗时看到这么一句话:“操作系统应用层(OSAL)在以1ms为最小定时单位的基础上,其最长定时时间为65秒”。也就是说使用osal_start_timerEx()最多只能休眠65s,不知道对不对。同时如果我想休眠500s,在应用层可不可直接控制睡眠寄存器。
”