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

Небольшая таблица в Exel для быстрого расчета коэффициентов.

Cover Image

Я думаю часто приходилось использовать коэффициенты вроде 0.78, 0.23, 0.87 для корректировки измереных значений АЦП, для последующей обработки, или может где-то ещё, где это значение является константой.

Но что делать если у нас есть требования ко времени выполнения и использовать float кажется слишком дорого?

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

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

Cover Image

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

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

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

Cover Image

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

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

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

STM32F103. Начало работы в Keil

Статья носит характер небольшого мануала о том, как начать программировать микроконтроллеры STMicroelectroniks на примере популярного и простого в освоении семейства stm32f1

Статья ориентирована на одного моего товарища, вполне перспективного программиста, надеюсь она ему поможет. Если вы не он, закройте страницу тоже можете читать.

Основные вопросы этой заметки:

  • как начать разрабатывать ПО для stm32 в Keil;
  • что для этого необходимо.

Начать необходимо со второго вопроса. Необходимый минимум это среда программирования (Keil), программатор и отладочная плата. Можно конечно и в симуляторе запускать программу, но это не так инетресно, так что плата и программатор нужны. Где брать писать не буду, не моя это забота.

Миландр. Неожиданное поведение CAN.

У контроллеров Миландр 1986ВЕ9х довольно много небольших проблем, описанных в errata, но так же есть и не описанные. Об одной из таких проблем и поговорим. Здесь не будет кода, только поток мыслей.

Cover Image
  • Из чего состоит проблема?
  • Проблема ли это?
  • Как решить этот вопрос?

Проблема проявляется следующим образом.

Несколько буферов настроены на отправку ответа на запрос RTR. Несколько буферов на приём. Из одного буфера периодически отправляется пакет (обычный пакет данных).

Имеет несколько ситуаций:

  1. Если мы получали RTR запрос и после него решили отправить какие-то данные в простом пакете, то замечаем такую картину - отправляется пакет данных, а за ним отправляется ответ на RTR запрос (хотя никакого запроса сейчас небыло).
  2. Если мы не получали RTR запросов или получили после них просто пакеты данных (в нём не установлен флаг RTR), то при отправке лишнего пакета не наблюдается.

Автоматизация инкремента версий в keil

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

Люблю Visual Studio за механизм, позволяющий инкрементировать версию собранного проекта, и также сильно ненавижу Keil за отсутствие таковой возможности .

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

Стало интересно?