关于Light-sleep的问题求助!
硬件平台;安信可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)函数尾部;
#define FPM_SLEEP_MAX_TIME0xFFFFFFF
void ICACHE_FLASH_ATTR fpm_wakup_cb_func1(void)
{
wifi_fpm_close(); // disable force sleep function
wifi_set_opmode(STATION_MODE); // set station mode
wifi_station_connect(); // connect to AP
os_timer_arm(&djc_timer, 1000, 0);//定时器使能1秒
os_timer_arm(&led_timer, 6000, 0);//定时器使能6秒
os_timer_arm(&djrb_timer, 7000, 0);//定时器使能7秒
}
#ifndef SLEEP_MAX
// Wakeup till time out.
void ICACHE_FLASH_ATTR user_func()
{
wifi_station_disconnect();
wifi_set_opmode(NULL_MODE); // set WiFi mode to null mode.
os_timer_disarm(&djrb_timer);//关闭定时器
os_timer_disarm(&led_timer);//关闭定时器
os_timer_disarm(&djc_timer);//关闭定时器
wifi_fpm_set_sleep_type(LIGHT_SLEEP_T); // light sleep
wifi_fpm_open(); // enable force sleep
wifi_fpm_set_wakeup_cb(fpm_wakup_cb_func1); // Set wakeup callback
wifi_fpm_do_sleep(50*1000);//强制休眠50毫秒
}
#endif系统电流测量失败:使用500型和另一块数字万用表串入模块和电源之间,想通过测量电流的方式了解休眠是否正常,由于两块表电流档内阻均较大,造成电源电压下降模块无法工作,测量失效!目前仅凭手感模块温度和一条短接线,在上电时短接万用表,上电后拆除,测量出电流约70ma,模块微烫!
DTIM无法调整;我的无线路由器型号为TP-LINK的wr886n,未开放DTIM等参数调整!
问题求助:系统电流70ma应该模块未进入休眠状态,是代码部分出现了问题?问题在哪里?
感谢帮助!
页:
[1]