收藏官网首页
查看: 45264|回复: 0

[求助] 关于Light-sleep的问题求助!

2

主题

5

帖子

366

积分

中级会员

Rank: 3Rank: 3

积分
366
跳转到指定楼层
楼主
发表于 2018-6-29 13:21:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
汉枫LPB120模块
硬件平台;安信可esp8266-12F(32M),目标为电池供电;
软件为;机智云自动生成的soc代码,在eclipse中小改;

项目中涉及的定时器为3个软件定时器,未使用硬件定时器;
Light-sleep代码情况:根据(2c-esp8266_non_os_sdk_api_reference_cn)文件中的Light-sleep示例代码,切割自动唤醒部分(删除GPIO唤醒部分),放入user_main.c中void ICACHE_FLASH_ATTR user_init(void)函数尾部;
  1. #define FPM_SLEEP_MAX_TIME  0xFFFFFFF
  2.     void ICACHE_FLASH_ATTR fpm_wakup_cb_func1(void)
  3.     {
  4.     wifi_fpm_close(); // disable force sleep function
  5.     wifi_set_opmode(STATION_MODE); // set station mode
  6.     wifi_station_connect(); // connect to AP
  7.     os_timer_arm(&djc_timer, 1000, 0);//定时器使能1秒
  8.     os_timer_arm(&led_timer, 6000, 0);//定时器使能6秒
  9.     os_timer_arm(&djrb_timer, 7000, 0);//定时器使能7秒
  10.     }
  11. #ifndef SLEEP_MAX
  12. // Wakeup till time out.
  13.     void ICACHE_FLASH_ATTR user_func()
  14.     {
  15.     wifi_station_disconnect();
  16.     wifi_set_opmode(NULL_MODE); // set WiFi mode to null mode.
  17.     os_timer_disarm(&djrb_timer);//关闭定时器
  18.     os_timer_disarm(&led_timer);//关闭定时器
  19.     os_timer_disarm(&djc_timer);//关闭定时器
  20.     wifi_fpm_set_sleep_type(LIGHT_SLEEP_T); // light sleep
  21.     wifi_fpm_open(); // enable force sleep
  22.     wifi_fpm_set_wakeup_cb(fpm_wakup_cb_func1); // Set wakeup callback
  23.     wifi_fpm_do_sleep(50*1000);//强制休眠50毫秒
  24.     }
  25. #endif
复制代码
系统电流测量失败:使用500型和另一块数字万用表串入模块和电源之间,想通过测量电流的方式了解休眠是否正常,由于两块表电流档内阻均较大,造成电源电压下降模块无法工作,测量失效!目前仅凭手感模块温度和一条短接线,在上电时短接万用表,上电后拆除,测量出电流约70ma,模块微烫!
DTIM无法调整;我的无线路由器型号为TP-LINK的wr886n,未开放DTIM等参数调整!
问题求助:系统电流70ma应该模块未进入休眠状态,是代码部分出现了问题?问题在哪里?
感谢帮助!



您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

加入Q群 返回顶部

版权与免责声明 © 2006-2024 Gizwits IoT Technology Co., Ltd. ( 粤ICP备11090211号 )

快速回复 返回顶部 返回列表