完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 一只耳朵怪 于 2018-6-3 11:27 编辑
各位,请教一个问题 终端设备在未加入任何网络的情况下启动,启动的时候会寻找网络,电流27ma左右。 如果设备在30s内没有加入网络,这时候我怎么能让设备进入休眠状态。 我设备进入低功耗的处理如下。但是处理完之后电流消耗为8.27ma ZDApp_StopJoiningCycle(); HalLedSet(HAL_LED_3,HAL_LED_MODE_OFF); SLEEPCMD &= ~PMODE; /* clear mode bits */ SLEEPCMD |= 0x03; /* set mode bits */ while (!(STLOAD & LDRDY)); 请问下怎么解决这个问题啊! |
|
相关推荐
4个回答
|
|
你板子上还有其他的外围器件在消耗电流吗?
|
|
|
|
您好VV, 板子没有其他外围器件在消耗电流。 我加了下面一句函数,想关闭MAC层,返回的读数一直是0XE2。 macPowerSaveState = MAC_PwrOffReq(MAC_PWR_SLEEP_DEEP); |
|
|
|
问下你使用的是哪个版本的协议栈,我试下。 |
|
|
|
我使用的是2.5.1.a的协议栈。 我调试的时候发现, 未入网重启的时候POWER SAVE是没打开的。 做了一下处理之后可以正常的进入休眠了。 static uint16 networkReadState(uint16 events) [ if(events &MANGETIC_READ_NETWORK_EVENT) [ if(m_gAppNwkState != DEV_END_DEVICE) [ osal_pwrmgr_device( PWRMGR_BATTERY ); ZDApp_StopJoiningCycle(); HalLedSet(HAL_LED_3,HAL_LED_MODE_OFF); osal_pwrmgr_task_state(s_cTaskID,PWRMGR_CONSERVE ); if(c_nJoiningCnt++ < MAGNETIC_JOINING_MAX_CNTS) [ osal_start_timerEx( s_cTaskID, MAGNETIC_JOINING_EVENT,100); ] else [ c_nJoiningCnt = 0; osal_stop_timerEx(s_cTaskID,MANGETIC_READ_NETWORK_EVENT); osal_stop_timerEx(s_cTaskID,MAGNETIC_JOINING_EVENT); ] ] else [ osal_start_timerEx( s_cTaskID, MANGETIC_READ_NETWORK_EVENT,MAGNETIC_READ_NETWORK_DELAY); ] return (events ^ MANGETIC_READ_NETWORK_EVENT); ] return events; ] 非常感谢您的回复! |
|
|
|
只有小组成员才能发言,加入小组>>
820 浏览 1 评论
1070 浏览 0 评论
617 浏览 1 评论
466 浏览 1 评论
660 浏览 2 评论
AT32F407在USART2 DMA发送数据时,接包接到了要发送的数据,程序还是处于等待传输完成的标识判断中,为什么?
263浏览 29评论
1224浏览 23评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
355浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
333浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
197浏览 13评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-3-5 04:55 , Processed in 0.987781 second(s), Total 84, Slave 68 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191