Всё-таки нашел время для изучения, и даже перевел на эту библиотеку текущий проект. Выявил несколько замечаний в коде бибилиотеки и немного модернизировал.
Если интересно, как запустить этот модуль, использовать и расширить функционал - заметка для вас.
По сути данная статья будет являть некоторой адаптацией официального мануала расположенного здесь (RTOS Stream Buffers )
Вот что пишут о них:
Потоковые буферы позволяют передавать поток байтов из подпрограммы обработки прерываний в задачу или из одной задачи в другую. Поток байтов может иметь произвольную длину и не обязательно иметь начало или конец. Любое количество байтов может быть записано за один раз, и любое количество байтов может быть прочитано за один раз. Данные передаются путем копирования - данные копируются в буфер отправителем и из буфера считываются.
В отличие от большинства других коммуникационных примитивов FreeRTOS, потоковые буферы оптимизированы для сценариев с одним устройством записи для одного читателя, таких как передача данных из подпрограммы обработки прерываний в задачу или из одного ядра микроконтроллера в другое на двухъядерном ЦП.
Не думаю, сто стоит рассказывать о функциях printf
и scanf
. Раз читаете эту заметку, то в курсе зачем они, знаете плюсы, и возможно минусы. Обсуждение и того и другого можно расписать на целую статью, я лишь хочу показать как их завести в прошивке для микроконтроллера.
Объектом испытания будет выступать микроконтроллер фирмы STMicroelectronics
STM32F205RGT6
. Почему не ванильный f103
? Всё просто, отладку с ним переделал под 205
чип, да и разрабатываемое устройство базируется на 205
чипе. Хотя это на самом деле и не важно, реализация полностью кросплатформенная.
Вы также часто пользуетесь кейлом как и я? Программируете микроконтроллеры компании Миландр? Вы хотите легко и просто подключить и использовать в своём проекте FreeRTOS? Тогда эта маленькая заметка для вас.
План действий:
- создаём проект;
- выбираем используемые пакеты;
- конфигурируем операционку;
- запускаем и пользуемся.
Моя реализация библиотеки для дисплея 16х2
под управлением HD44780
.
Описывать протокол и особенности управления, пайки и настройки не буду.
Краткие возможности:
- управление отображением курсора;
- вкл/выкл дисплея;
- вывод текста в любое место;
- поддержка специальных символов
\n
и \t
;
- вывод числа с преобразованием его в строку;
- и др.