ESP32 [не]быстрый старт
Полуторачасовой нудный непонятный и ненужный ролик демонстрирует минимум наиболее востребованных в реальных задачах технологий, с помощью которых вы можете писать более эффективный код на Arduino для ESP32.
В примере защиты атомарности изменений переменных в прерывании с помощью критической секции и мьютекса нужно и в самой задаче обрамлять чтение/запись этих переменных критической секцией на том же мьютексе и объявлять глобальные переменные, изменяемые в прерывании, как volatile для исключения их из оптимизации.
Все дальнейшие вопросы адресуйте Гуглу и документации https://freertos.org/a00106.html
Конечный вариант кода из видео: https://github.com/MoonFox2006/ESP32_QuickStart
Всё изложенное в ролике не является догмой или единственным верным решением! Не ограничивайте себя чужими идеями!
PS: напоминаю, что за мат и неадекватность в комментариях (независимо от сути эмоций, восхищение это или ругань) - бан, самые тупые комментарии с недавних пор помечаются как "понравившиеся автору", чтобы долго не искать чтиво для поднятия настроения вменяемых.
Тайм-лайн:
00:00 Никому ненужное вступление
04:22 Blink'уем по старинке
06:43 Blink как отдельная задача
13:07 Управление задачей
16:46 Передача параметра в задачу
27:50 Задача опроса кнопки
49:22 Семафорим из прерывания
57:55 Критическая секция на мьютексе в прерывании
1:03:45 Выносим весь опрос кнопки в прерывание
1:09:45 Задача поддержания wifi соединения
1:22:55 Спасибо за поддержку канала
Видео ESP32 [не]быстрый старт канала Alex Morozov
В примере защиты атомарности изменений переменных в прерывании с помощью критической секции и мьютекса нужно и в самой задаче обрамлять чтение/запись этих переменных критической секцией на том же мьютексе и объявлять глобальные переменные, изменяемые в прерывании, как volatile для исключения их из оптимизации.
Все дальнейшие вопросы адресуйте Гуглу и документации https://freertos.org/a00106.html
Конечный вариант кода из видео: https://github.com/MoonFox2006/ESP32_QuickStart
Всё изложенное в ролике не является догмой или единственным верным решением! Не ограничивайте себя чужими идеями!
PS: напоминаю, что за мат и неадекватность в комментариях (независимо от сути эмоций, восхищение это или ругань) - бан, самые тупые комментарии с недавних пор помечаются как "понравившиеся автору", чтобы долго не искать чтиво для поднятия настроения вменяемых.
Тайм-лайн:
00:00 Никому ненужное вступление
04:22 Blink'уем по старинке
06:43 Blink как отдельная задача
13:07 Управление задачей
16:46 Передача параметра в задачу
27:50 Задача опроса кнопки
49:22 Семафорим из прерывания
57:55 Критическая секция на мьютексе в прерывании
1:03:45 Выносим весь опрос кнопки в прерывание
1:09:45 Задача поддержания wifi соединения
1:22:55 Спасибо за поддержку канала
Видео ESP32 [не]быстрый старт канала Alex Morozov
Показать
Комментарии отсутствуют
Информация о видео
Другие видео канала
PlatformIO или прощай, Arduino IDEESP32. Что под капотом? 2CPU, RTOS, Ethernet, Bluetooth...Консоль 8-bit на ESP32 своими руками. Проекты Амперкиnorvi IIOT. Контроллер на ESP32Написание библиотеки для Arduino на примере AHT10ESP32, более мощная чем любая другая АрдуиноДождались! ESP32!Arduino & ESP32 микроконтроллеры/Установка и настройкаКамера ESP32-CAM и Home Assistant. Обзор, фишки, автоматизации. Отправляем snapshot через telegram.LT8920 как НЕ замена NRF24L01STM32 или AVR. Как изучать программирование микроконтроллеров.Управление через интернет из любой точки мира. Протокол MQTTРазработка WEB-интерфейса для ESP8266. Часть 1: Подготовка скетча в Arduino IDEArduino оптимизация использования оперативной памятиКак перейти с Arduino IDE на PlatformIOОтладка ESP32 в PlatformIOESP8266 GDrive CloudUpdateКак Прошить ESP8266: ESP12, ESP01Сон вместо задержек для AVR168/328