• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

ESP_fpm_LighSleep

nikolz

Well-known member
Пример кода для работы ESP8266 c просыпанием от кнопки.
Кнопку подключаем к GPIO12
В режиме ожидания ток потребления ESP8266 составляет от 0.3 до 0.5 ма.
Просыпаться будет при нажатии и отпускании кнопки.
Пример на CИ
В функцию user_init()
пишем следующий код
Код:
    PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTDI_U,3); GPIO_DIS_OUTPUT(12);
    if (wifi_fpm_get_sleep_type ()!= LIGHT_SLEEP_T) wifi_fpm_set_sleep_type(LIGHT_SLEEP_T);  
    gpio_pin_wakeup_enable(12,GPIO_PIN_INTR_LOLEVEL);
    wifi_fpm_set_wakeup_cb(fpm_LighSleep);
    wifi_set_opmode_current(NULL_MODE);
    ets_wdt_disable();
     PIN_FUNC_SELECT(PERIPHS_IO_MUX_U0TXD_U,3);    gpio_output_set(BIT1, 0, BIT1, 0);
     wifi_fpm_open();
    fpm_LighSleep();
и добавляем в прогу функцию:
Код:
uint8 LTL=4;
void fpm_LighSleep(void){
    gpio_pin_wakeup_enable(12,LTL);  if (LTL==4)LTL=5;
    wifi_fpm_do_sleep(FPM_SLEEP_MAX_TIME);
}
при нажатии и отпускании кнопки получаем такую картинку потребляемого тока ESP-12
upload_2018-1-9_8-27-0.png
 
Последнее редактирование:
Сверху Снизу