В уроке 105 мы научились не просто читать и писать регистры и буферы, а также передавать данные от передатчика к приёмнику, только это был обычный счётчик каких-то неопределённых тиков. А сегодня мы попробуем передать по беспроводной связи с помощью модулей NRF24L01 …

STM Урок 109. NRF24L01. Передаём влажность и температуру с датчика DHT22 Читать далее »

Продолжаем работу с операционной системой реального времени FreeRTOS. Как я и обещал, поведаю я вам сегодня о том, каким образом можно создать несколько задач с уникальным кодом, используя для них для всех всего одну функцию реализации. Оказывается, есть такой механизм …

STM Урок 108. FreeRTOS. Параметры Читать далее »

В предыдущей части урока мы познакомились с датчиком, создали и настроили проект, написали функцию инициализации датчика, а также функцию снятия с него показаний.   Переходим в файл main.c и внесём изменения и там. Пока мы будем выводить показания датчика в шину …

STM Урок 107. Датчик влажности и температуры DHT22. Часть 2 Читать далее »

Продолжаем тему датчиков температуры. Сегодня у нас на повестке дня датчик, который измеряет не только температуру, но и влажность — это датчик DHT22. Он также может встречаться под маркой AM2302. Также существует датчик DHT11, урок по которому меня неоднократно просили …

STM Урок 107. Датчик влажности и температуры DHT22. Часть 1 Читать далее »

В предыдущей части занятия мы познакомились с возможными состояниями задач в ОС реального времени FreeRTOS, создали проект, добавили функции задач, создали задачу, которая сама затем себя и будет уничтожать, и проверили наш код на практике.   Давайте теперь попробуем увидеть наглядно, …

STM Урок 106. FreeRTOS. Динамическое создание и уничтожение задач. Часть 2 Читать далее »

Продолжаем тему по изучению операционной системы реального времени FreeRTOS. После изучения бинарных (двоичных) семафоров я хотел создать урок по использованию NENCONN API в библиотеке стека протоколов LWIP, но потом, почитав ещё гору различной литературы, всё-таки пришёл к выводу, что мы …

STM Урок 106. FreeRTOS. Динамическое создание и уничтожение задач. Часть 1 Читать далее »

В предыдущей части занятия мы создали проект для передатчика, добавили несколько новых функций, и только в сегодняшней части мы сможем наш код проверить, так как для этого нужен приёмник.   Займёмся теперь нашим приёмником. Для него была выбрана плата NUCLEO-F401RE. Подключим …

STM Урок 105. NRF24L01. Передаём данные. Часть 2 Читать далее »

Продолжаем изучение модулей беспроводной передачи данных — NRF24L01 (NRF24L01+). В уроке 103 мы с ними основательно познакомились, научились читать и писать их регистры, читать и писать буфер, и убедились в том, что мы действительно это умеем, на практике. Теперь нам предстоит следующая …

STM Урок 105. NRF24L01. Передаём данные. Часть 1 Читать далее »

В предыдущей части урока мы познакомились с семафорами, создали и настроили проект для работы с ними.   Подключим библиотеки в main.c   /* USER CODE BEGIN Includes */ #include «stdint.h» #include «string.h» #include «ltdc.h» #include «MT48LC4M32B2.h» #include «fonts.h» /* USER CODE …

STM Урок 104. FreeRTOS. Бинарные (двоичные) семафоры. Часть 2 Читать далее »

Продолжим забытую нами тему использования операционной системы реального времени — FreeRTOS. Операционная система реального времени позволяет нам добиться организации процессов, также многозадачности, причём часть работы по данной организации система берёт на себя, но некоторая часть данной организации вопросов также ложится …

STM Урок 104. FreeRTOS. Бинарные (двоичные) семафоры. Часть 1 Читать далее »