Keil. Тема редактора кода в стиле Visual Studio Dark.

Небольшая заметка о настройке подсветки синтаксиса и других цветах в редакторе кода keil.

Cover Image

Я думаю многим нарвиться темная тема оформления в Visual Studio. Если вы один из этих людей, то предлагаю посмотреть как быстро реализовать данную расцветку в редакторе keil.

Библиотека CMSIS DSP. Так ли быстр целочисленный квадратный корень?

Небольшое сравнение функции вычисления квадратного корня из библиотеки CMSIS DSP и моей реализации.

Cover Image

Как-то долго я не обращал внимания на эту библиотеку, но вот насталов время.

Там есть куча всяких полезностей, в том числе и быстрых математических функций. И даже вычисление целочисленного квадратного корня. Круто, я смогу отказаться от самописной реализации в пользу той, которую предлагает компания ARM.

Для начала проверим, так ли быстр армовский квадратный корень.

Немного о форматировании кода и другие советы

Некий свод советов по оформлению кода, которые помогут легче читать и поддерживать код, а также спасут от некоторых ошибок.

Данная заметка это некий свод советов по оформлению кода, которые помогут легче читать и поддерживать код, а также спасут от некоторых ошибок, своего рода компиляция многих источников которые были прочитаны за время профессиональной деятельности и некоторых своих домысливаний.

В который раз о портах совмещенных с JTAG. STM32

Не работает PB3 на stm32f103? Тогда мы идём к вам. Расскажу как не наступить на эти грабли.

У меня была одна из заметок про подобную тему, но то был контроллер Миландр. На этот раз его собрат от компании STMicroelectronics - stm32f103rc. Необходимо было задетвовать ножки порта PB3, PB4 и PB5 - на них висит SPI1, с помощью которого планировалось управлять переферийной микросхемой.

Делаем простой и универсальный кольцевой буфер.

Делаем простой кольцевой буфер

Постоянно приходится передавать и принимать данные из/в UART, SPI, I2C и др. Всё просто и понятно когда посылки идут редко и есть время на их обработку, а что же делать если посылки могут идти пачками за один раз, а потом долгое время отсутствовать и мы при обработке первой не успеваем обрабатывать остальные и они теряются или портятся. Значит нужно использовать какой-то буфер, откуда потом понемногу брать и обрабатывать данные, а что делать если мы уже заполнили буфер и нам уже некуда писать? Писать дальше начиная с первого (на самом деле с нулевого) элемента буфера, дополнительно нужно учитывать место с которого можно читать данные и место с которого можно писать. Вот мы и получаем наш кольцевой буфер.

Генератор на одном триггере ТМ2. Не делайте так.

Сказ о том, как не нужно делать импульсники из чего попало.

Cover Image

Довелось мне делать одно устройство для военных. Для защелки цепи защиты от перегрузки использовал триггер 561ТМ2. Остался ещё один в корпусе. И нужно было сделать импульсник с минимальным потреблением тока, к сожалению в перечне разрешенных нет малопотребляющих ШИМ-контроллеров, да и лишний корпус на маленькую плату не поставить. Подсказали сделать генератор на оставшемся триггере, даже не подсказали, а указали, я честно пытался сопротивляться.