Рубрики
Проекты на ESP32

Таймеры и задержки в FreeRTOS на ESP32 с помощью ESP-IDF

В данной статье мы рассмотрим как использовать таймеры и задержки в FreeRTOS с помощью ESP32 и ESP-IDF. Также в статье приведено сравнение функции vTaskDelay(), предоставляемой FreeRTOS, с различными значениями задержки в миллисекундах. Таймер высокого разрешения (ESP Timer), предоставляемый FreeRTOS, использует 64-битный аппаратный таймер. FreeRTOS также предоставляет программные таймеры, которые более удобны в использовании, однако они […]

Рубрики
Проекты на ESP32

Синхронизация задач FreeRTOS с использованием семафоров в ESP32 с помощью ESP-IDF

В данной статье мы научимся использовать семафоры FreeRTOS в ESP32 с помощью ESP-IDF. Семафоры используются для отправки уведомлений другим задачам или для синхронизации различных задач, тогда как очереди используются для межзадачной связи. Сначала мы рассмотрим пример кода, чтобы узнать, как использовать бинарные семафоры для синхронизации задач. Затем мы увидим, как освободить семафор из обработчика прерывания […]

Рубрики
Проекты на ESP32

Работа с очередями FreeRTOS в ESP32 с помощью ESP-IDF

В данной статье мы рассмотрим создание очередей FreeRTOS на ESP32 с помощью ESP-IDF. Ранее мы изучили создание задач FreeRTOS на ESP32 с помощью ESP-IDF. Однако создание отдельных задач недостаточно для полноценного приложения на основе RTOS, поскольку эти независимые задачи представляют собой небольшие программы, имеющие собственный стек, память и задачи выполнения. Следовательно, нам необходим механизм для […]

Рубрики
Проекты на ESP32

Создание задач FreeRTOS в ESP32 с помощью ESP-IDF

В данной статье мы научимся использовать FreeRTOS с ESP32, используя фреймворк ESP-IDF. Преимущество ESP-IDF в том, что для него уже существует порт FreeRTOS для ESP32. Поэтому нам не нужно устанавливать дополнительные библиотеки и драйверы. ESP-IDF FreeRTOS основан на Vanilla FreeRTOS v10.4.3 Мы рассмотрим создание и удаление задач FreeRTOS, установку для них приоритета, прерывание задач и […]

Рубрики
Проекты на ESP32

Работа с FreeRTOS и памятью в ESP32-S3 с помощью ESP-IDF (урок 5)

При создании простых встраиваемых систем мы обычно пишем код внутри одного бесконечного цикла, часто называемого «суперциклом» или «программированием на уровне аппаратного обеспечения». В этом подходе микроконтроллер выполняет одну инструкцию за другой. Если выполнение определенной функции занимает много времени или используется блокирующая функция, весь процессор останавливается, и никакой другой код не может выполняться, пока эта функция […]

Рубрики
Проекты на ESP8266

Подключение модуля часов реального времени (RTC) DS3231 к NodeMCU ESP8266

В этом проекте мы соединим модуль часов реального времени (Real Time Clock, RTC) DS3231 с платой NodeMCU ESP8266 и отобразим значение времени и даты на ЖК-дисплее 16×2. Альтернативная микросхема для DS3231 — это DS1307. Модуль часов реального времени DS3231 имеет встроенные функции сигнализации, а также датчик температуры с разрешением 0,25 и точностью ±3°C. Ранее на нашем сайте […]

Рубрики
Проекты на STM32

Как использовать FreeRTOS для STM32F103C8 в Arduino IDE

STM32F103C — это процессор ARM Cortex M3, который может использовать FreeRTOS. В этой статье мы рассмотрим как использовать FreeRTOS на плате STM32F103C8 непосредственно из Arduino IDE. Мы также можем использовать Keil, но в этом случае нам нужно загрузить и вставить загруженные файлы в путь Keil, а это довольно длительный процесс по сравнению с Arduino IDE. […]

Рубрики
Проекты на STM32

HTTP-запросы в формате JSON с помощью STM32F103C8T6 и SIM900/800

В этой статье мы узнаем, как использовать GSM модуль SIM800 или SIM900 с микроконтроллером STM32 (платой STM32F103C8T6) и делать HTTP-запросы в формате JSON на любой API-сервер. Ранее мы уже использовали GSM модуль и плату STM32F103C8T6 (Blue Pill) для передачи данных на сервер Thingspeak и передачи SMS. В данном проекте мы разработаем код для отправки данных […]

Рубрики
Схемы на Arduino

Подключение модуля часов реального времени PCF8563 к Arduino

Сейчас на рынке доступно множество модулей часов реального времени (RTC), таких как DS1307 и DS3231. Но когда дело доходит до оценки энергопотребления, их энергопотребление окажется немного выше чем хотелось бы, что может быстро разрядить батарею в случае, если мы работаем с устройствами с питанием от батареи. Поэтому в подобных устройствах оправдано использование модуля часов реального времени, энергопотребление которого значительно […]

Рубрики
Проекты на STM32

Подключение модуля часов реального времени DS3231 к плате STM32F103C8 (Blue Pill)

В этом проекте мы рассмотрим подключение модуля часов реального времени (RTC) DS3231 к плате STM32F103C8 (Blue Pill) и будем отображать считанные значения времени и даты на 0,96-дюймовом OLED-дисплее. Мы будем использовать модуль часов реального времени (RTC) DS3231 для отслеживания правильного времени и даты и отображения их на OLED-дисплее, используя плату STM32F103C8 в качестве микроконтроллера. Альтернативная […]