|
硬件平台;安信可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_TIME 0xFFFFFFF
- 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应该模块未进入休眠状态,是代码部分出现了问题?问题在哪里?
感谢帮助!
|
|