Возникла необходиомсть автоматической генерации конфигов на основе makefile. Нужно это в первую очередь для работы над проектом, который изначально не предполагался для разработки в vscode. А теперь и париться не нужно с поиском всех дефайнов и инклудов из makefile'ов которых может быть очень много.
В общем от слов к делу
Скачать можно здесь: Makefile to C/C++ config
Как-то долго я не обращал внимания на эту библиотеку, но вот насталов время.
Там есть куча всяких полезностей, в том числе и быстрых математических функций. И даже вычисление целочисленного квадратного корня. Круто, я смогу отказаться от самописной реализации в пользу той, которую предлагает компания ARM.
Для начала проверим, так ли быстр армовский квадратный корень и подходит ли он именно для тех задач, для которые необходимы мне.
Статья ориентирована на одного моего товарища, вполне перспективного программиста, надеюсь она ему поможет. Если вы не он, закройте страницу тоже можете читать.
Основные вопросы этой заметки:
- как начать разрабатывать ПО для
stm32
в Keil
;
- что для этого необходимо.
Начать необходимо со второго вопроса. Необходимый минимум это среда программирования (Keil
), программатор и отладочная плата. Можно конечно и в симуляторе запускать программу, но это не так инетресно, так что плата и программатор нужны. Где брать писать не буду, не моя это забота.
Вы также часто пользуетесь кейлом как и я? Программируете микроконтроллеры компании Миландр? Вы хотите легко и просто подключить и использовать в своём проекте FreeRTOS? Тогда эта маленькая заметка для вас.
План действий:
- создаём проект;
- выбираем используемые пакеты;
- конфигурируем операционку;
- запускаем и пользуемся.
Постоянно приходится передавать и принимать данные из/в UART
, SPI
, I2C
и др. Всё просто и понятно когда посылки идут редко и есть время на их обработку, а что же делать если посылки могут идти пачками за один раз, а потом долгое время отсутствовать и мы при обработке первой не успеваем обрабатывать остальные и они теряются или портятся. Значит нужно использовать какой-то буфер, откуда потом понемногу брать и обрабатывать данные, а что делать если мы уже заполнили буфер и нам уже некуда писать? Писать дальше начиная с первого (на самом деле с нулевого) элемента буфера, дополнительно нужно учитывать место с которого можно читать данные и место с которого можно писать. Вот мы и получаем наш кольцевой буфер.
Моя реализация библиотеки для дисплея 16х2
под управлением HD44780
.
Описывать протокол и особенности управления, пайки и настройки не буду.
Краткие возможности:
- управление отображением курсора;
- вкл/выкл дисплея;
- вывод текста в любое место;
- поддержка специальных символов
\n
и \t
;
- вывод числа с преобразованием его в строку;
- и др.