FreeRTOS. Программная очередь почты.

FreeRTOS. Программная очередь почты.

Тема статьи: программная очередь почты (mail queue). Немного C++ обвертки для FreeRTOS, грамотнее говоря, правильнее сказать cmsis — rtos, потому что, STM реализация FreeRTOS написана в концепции cmsis. Пример статьи — это простой обмен сообщениями с переключениям состояний светодиода. Поля очереди почты инкриминируется автоматически при отправке и верном приеме почты, посходит проверка на отправленное сообщение, а так же на прием почты.

Очередь почты напоминает очереди сообщений, но данные, которые передаются состоят из блоков памяти, которые должны быть выделены (до передачи в данные) и освобождены (после из данных). Очередь почты использует пул памяти для создания отформатированных блоков памяти и передачи указателя на эти блоки в очереди сообщений. Это позволяет данным, остаться в памяти выделенного блока, а только указатель перемещается между отдельными потоками. Это является преимуществом над сообщениями, которые могут передавать только 32-битное значение или указатель. Использование функций почтовой очереди, вы можете контролировать, отправлять, получать, или ждать почту.

Редактируем базовый пример для STM32746G-Discovery -> «..\STM32Cube_FW_F7_V1.3.0\Projects\STM32746G-Discovery\Applications\FreeRTOS\FreeRTOS_Mail».

Для .cpp файлов нужно выставить —cpp11(misc controls).

Старт ARM. RTOS часть 1-ая. STM32F4 и SAM3N.
Старт ARM. RTOS часть 2-ая.
Старт ARM. RTOS часть 3-ая. Очереди.
Старт ARM. RTOS часть 4-ая. Семафоры.
Старт ARM. RTOS часть 5-ая. Мьютексы.
Старт ARM. RTOS часть 6-ая. Сопрограмма.
Старт ARM. RTOS часть 7-ая. Программный таймер.

Отправить ответ

Оставьте первый комментарий!

Уведомлять о
avatar
wpDiscuz