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

Результаты поиска

  1. pvvx

    Таймеры

    Эта тема о том как вы выпрашиваете на халяву готовый код и решение для вас? Другое не принимается и считается флудом? Для потребителя ART_HA скетч с двумя вариантами работы: #include "c_types.h" #include "os_type.h" #include "eagle_soc.h" #include "osapi.h" #include "gpio.h" #define...
  2. pvvx

    Таймеры

    ets_isr_mask(1 << ETS_GPIO_INUM); // запрет прерываний GPIOs gpio_pin_intr_state_set(GPIO_TEST1, GPIO_PIN_INTR_DISABLE); // смена флагов для контроллера GPIO GPIO_INTR_INIT = 0; // сброс INT в контроллере прерываний Arduino позволяет встраивать хоть ассемблерные вставки... Тем...
  3. pvvx

    Таймеры

    Но для обучения миганием светодиодом для выпускной работы использование Arduino ESP достаточно.
  4. pvvx

    Таймеры

    ? Это кто вам сказал? Ясли сад из Arduino? Проблемы в Arduino в том, что там всё писано криво и рассчитано на мигание светодиодом в секунды. Быстрее, используя C++ с распределением памяти с запретом прерываний недопустимо. И так-же без MMU работа в C++ приводит к дефрагментации Heap, что...
  5. pvvx

    Таймеры

    Все варианты описываются за пять секунд. Писать и разъяснять текстом значительно дольше. 1) В прерывании по импульсу выход устанавливается в активное состояние и запускается таймер с нужным периодом активности. В процедуре таймера снимается активный сигнал. 2) В прерывании по импульсу выход...
  6. pvvx

    Таймеры

    > Это называется одновибратор. "одновибратор" бывает разным. Срабатывает по импульсу и выдает активный сигнал определенное время - новый импульс в любой момент назначает новое время выдачи активного сигнала. Или игнорирует импульс если во время выдачи активного сигнала
  7. pvvx

    Таймеры

    Запретить, удалив из списка софт-таймеров (ets_timer_disarm()). Вообще по прерыванию от пина при дребезге возможно переполнение стека. Причина неправильное написание процедуры обработки (это встречалось во всех средах для ESP)
  8. pvvx

    Таймеры

    Ничего не произойдет, если после получения-отработки импульса запущен таймер и запрет на отработку следующего импульса на назначенное время. Т.е. у вас получатся следящее окно, в активность которого может быть принят импульс. Требуемый алгоритм описан не полностью и гадать тонкости никому не...
  9. pvvx

    Таймеры

    Короче - вы выбрали плохой алгоритм работы и даже не описали его. B итоге мучаетесь с Arduino. Имеющиеся в системе ESP8266 софт-таймеры позволяют выводить на GPIO любые сигналы со средним джиттером в 150 us из-за работы WiFi, если подработать его дрова.
  10. pvvx

    Таймеры

    И уж если используете NMI прерывание - то для ESP8266 оно должно выполняться не более 1 us. Иначе происходит нарушение таймингов WiFi. Это потом даже описано в документации... А в Arduino вы не можете обеспечить такое исполнение из-за C++ и прочих бяк.
  11. pvvx

    Таймеры

    Оно и есть -> ets_timer_disarm(x) останавливает назначенный x софт-таймер и запрещает вызов его кода. А в параметрах запуска ets_timer_arm[_new](x, период, тип) - тип задает однократное или постоянное срабатывание. И ваши вопросы и проблемы не понятны. Сами себя путаете используя NMI прерывание...
  12. pvvx

    Таймеры

    Назначенный код программных таймеров (ets_timer_setfn()) выполняется последовательно. И если какие-то проблемы - всегда можно временно отменить любые другие прерывания (ets_intr_lock(), ets_intr_unlock()). Процедура любого программного таймера может отменить выполнение другого -...
  13. pvvx

    Делюсь опытом Аквариум на esp8266

    А как в настоящее время жить без Python?
  14. pvvx

    Таймеры

    Как вы писали проблема в приоритетах у ваших таймеров. И задержки у вас большие - десятки мс? Почему вы не можете создать хоть десять программных таймеров, а используете NMI? Из 2016 года: ets_timer_arm_new - это управление программным таймером на основе аппаратного. _new по причине что у...
  15. pvvx

    Таймеры

    Если prescaler таймера установлен на 16, тогда пределы работы таймера 0.2..1677721.4 us. Максимальный делитель у таймера 0x007fffff. Т.е. один шаг = 0.2 us. Менее 2us при 160MHz CPU - перегрузка системы по WDT. #define XS_TO_RTC_TIMER_TICKS(t, prescaler, period) \ (((t) >...
  16. pvvx

    Таймеры

    Если в это время выполняется delay(N); и не работает WiFi. Возможно всё, т.к. прерывания программные, вызывающиеся по таблице от одного таймера в отдельном цикле опроса событий. которому надо отдавать управление. Но сделать это можно только как через ... гланды... - Перегружать регистры CPU из...
  17. pvvx

    TLSR8251 + LCD + термометр = LYWSD03MMC XIAOMI Bluetooth термометр

    Опция инверсии передаваемого события от "геркона" (opened/closed) встроена в прошивку Version: 3.9.
  18. pvvx

    TLSR8251 + LCD + термометр = LYWSD03MMC XIAOMI Bluetooth термометр

    При инверсии датчика, например при соединении геркона к +батареи, у SoC есть подтяжка GPIO к нулю только в десятку кОм. Это при замкнутом герконе посадит батарейку за несколько часов (300 мкА - макс 27 дней работы CR2032). Кому такое надо и что это изменит? А при герконе на GND - есть подтяжка...
  19. pvvx

    TLSR8251 + LCD + термометр = LYWSD03MMC XIAOMI Bluetooth термометр

    @udavst - Я ничего не понял, что вы хотите. Датчик сейчас (и изначально) работает на спад и на подъем уровня. Что ещё надо изменять? Чтобы название события в какой-то внешней интерпретации было инверсным? Или чтобы термометр исправлял программу для ESPHome?
  20. pvvx

    TLSR8251 + LCD + термометр = LYWSD03MMC XIAOMI Bluetooth термометр

    В Home Assistan ныне много проблем из-за реорганизации - встраивании bluetooth в ядро системы. Много неоднозначностей с bluez. Работы ведутся но медленно... писатели HA ссылаются на bluez и бардак продолжается :) Bluez до сих пор полностью не поддерживает BT5.0 вышедший 16 июня 2016 года :) Что...
Сверху Снизу