Игры с ESP32
Кастую @bobercode .
Пришла мне вчера ESP32-C3 с OLED 0.42" дисплейчиком. Подключил к Arduino 1.8.19 (электрон версию не брал). Включил, увидел моргающий светодиодик с периодом в 1 сек. Какой-то текст вида "ESP32-C3" и пр. на дисплейчике, ну и положил всё енто в пакетик с китайским ампер-вольтметром (калибрануть его надо - дома точных эталонных тестеров нет - ширпотреб только). Принёс на работу, а дисплейчик того - хана, разбил я его...
Ну да ладно. Похвастался, поплакался, сегодня начал изучать ардуино-программирование (ранее дела не имел), и вот что получил на выхлопе:
1. ESP32, в отличие от ESP8266 имеет под капотом FreeRTOS (мля, задолбали лочить РФ).
2. Как следствие delay() уже не тормозит одноядерный проц, что имеет место в атмегах и ESP8266, а использует vTaskDelay() от операционки, что позволяет сделать адекватной консолидированную многозадачность
3. Есть уже готовые от ОСи мютексы, инхронизацию потоков и пр., в том числе и асинхронный ввод-вывод с портов, что позволяет ожидать событий на GPIO/портах не нагружая проц в цикле.
Скетч, который я сейчас гоняю и далее изучаю (русские комменты мои, на английском с гугла/примеров и т.п.):

Буду ковырять далее. Думаю до ассемблера с RISC-V дойду не скоро, но буду стараться закапываться глубже, точнее ниже FreeRTOS. Надеюсь меня хватит надолго играться в енто...


Комментарии