Keil µVision 5 + STM32F4 Discovery - Начало

Всё началось с того, что сходу не получилось «быстро стартануть» Keil µVision 5 + STM32 (везде описание приведено для 4-го Keil-а). Посему решил для себя зафиксировать «опыт» картинками и чуточкой текста :)


Читать дальше
  • +3
  • 07 апреля 2015, 10:55
  • Selin

Git в домашнем хозяйстве.


Тема крайне капитанская, но, оглядываясь назад, мне бы хотелось заставить себя использовать CVS гораздо раньше, чем я начал)

Имея высшее образование по специальности «Радиотехника», и программируя микроконтроллеры на самом нижнем уровне, исходя из сложившихся представлений о программировании (коих до определенного времени хватало), я время от времени от знакомых ребят-программистов, которые интересовались моей деятельностью, слышал о системах контроля версий исходного кода, а также удивленные возгласы после того, как они узнавали, что я таковыми не пользуюсь.

Сам я просто колбасил код на Си и Ассемблере, время от времени сохраняя релизые версии firmware в папочках с соответствующими номерами.
Это, признаться, меня практически не парило, но сейчас я бы так делать не стал.

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

И, кончено же, я использую Git не только на работе, но и дома — потому что от его использования мы получаем следующий профит…


Читать дальше

WIFI Модуль ESP8266 за 3,5 $ первые впечатления. + мост UDP<-->UART на LUA

На прошлой неделе получил из КИТАЯ 2 WIFI модуляESP8266 по «преступно» низкой цене 3,5$ за штуку.(думаю наши продавцы и курс вскоре исправят этот досадный недостаток :)
Как говорится ESP8266: Революция в мире интернета вещей
Если кто еще не читал про ESP8266, то тут достаточно хорошо все описано.


Читать дальше
  • +5
  • 17 декабря 2014, 21:32
  • alexhi
  • 3

STM32CubeMX start code -> Eclipse быстрый старт -> отладка в Eclipse через ST-Link Discovery

Наверное в инете есть сотни статей с подобной темой. Но, так как тема относится к опенсорсу, — никто не гарантирует результат. Результат-то как правило бывает, но обычно, вначале, лишь частичный. Что-то, как правило, не работает нормально. Глючит. Пугает кучей ошибок и варнингов. Основная тема, лейтмотив опенсорса, — поиск ответа на вопрос «почему не так работает?». В этот момент начинаешь понимать, почему за готовую к работе, из коробки, IDE — просят денюшку, и немаленькую.
Когда начинал знакомится с микроконтроллерами, ограничение кода в 32 кБ казались такими недосягаемыми, а в современное время одно подключение какой-либо библиотеки может съесть значительную часть лимита кода, а ещё хочется и ВЭБ интерфейс к соей домашней поделке приделать, а недавно решил «пощупать» библиотеку libMAD, так код вообще сразу выскочил за 120 кБ…

Основная задача — допилить Eclipse до такого состояния, когда внутри будет весь цикл, от написания кода до отладки. Для генерации начального кода очень хотелось использовать STM32CubeMX, так как кроме свежих библиотек HAL имеется поддержка современной версии CMSIS, уже интегрированная FreeRTOS (в составе куба идет порт FreeRTOS, сделанный по правилам нового CMSIS v3.20), и много других «вкусняшек», а используемая среда Eclipse, не накладывает ограничения на размер кода, да и просто имхо удобней.
У меня получилось. Конечно есть в отладчике Keil'a фишки, которые больше нигде не повторяются. Да и в используемом отладчике OpenOCD реализованы не все функции, которыми может похвастаться Eclipse, но это плата за простоту установки и настройки. Полученным результатом оказался доволен. Во время поиска приемлемого варианта установки, подбора плагинов и других компонентов возникла необходимость сохранить результаты проделанной работы. В основном — что бы не забыть.

Условно всю работу можно разбить на 3 части:
  • Установка и настройка Eclipse.
  • Генерация начального кода проекта в STM32CubeMX и адаптация проекта для использования в Eclipse.
  • Настройка отладки и отладка созданного проекта в Eclipse.

Если Вам интересно — читаем дальше.


Читать дальше

UART (USART) на STM32L (STM32)

Введение
На момент написания данной статьи в сети существовало множество примеров по работе с UART’ом на микроконтроллерах серии STM32. В основном данные примеры сводятся к приему/передачи одного байта без использования прерываний. Основной акцент в статьях делается на инициализации портов ввода/вывода и UART’а, с небольшими примерами. В некоторых статьях описывается работа прерываний, но не создаются полноценные функции приема/передачи.

Однако все эти примеры достаточно разрознены и мне не удалось найти одного исчерпывающего примера по работе с UART'ом. Поэтом, в данной статье ставиться целю объединение воедино накопившегося опыта и создание полноценных функций для работы с UART с использованием прерываний, для чего детально разбирается устройство интерфейса применительно к микроконтроллерам STM32L.



Читать дальше

STM32F103 и FatFS начинающим

На нелегком пути освоения МК постоянно сталкиваешься с сомнениями. Правильно ли соединил провода, не намудрил ли с инициализацией? А железо вообще исправное? Или все сразу? Слишком много переменных факторов. Конечно, подобное лишь улыбнет гуру, но новичку доставляет немало головной боли.



Одним словом остро не хватает заведомо работающего кода сложнее мигания светодиодом. Буду выкладывать разные проектики, которые надеюсь пригодятся будущим поколениям новичков.

Читать дальше

Вольтметр/амперметр для лабораторного БП


В ходе размышлений над проектом лабораторного блока питания решил я немного поизучать возможности AVR в качестве измерителя напряжения и тока. Как известно, контроллеры серии ATMega имеют 10-разрядный АЦП, который можно использовать для измерения.

Вообще, точные измерения любых величин — дело далеко не простое. Начинается все с резисторов повышенной точности, за ними идут источники опорного напряжения, а там уже и до термокомпенсации недалеко… Ну и хорошо бы иметь заведомо точный измерительный прибор для калибровки нашего изделия.

Но на этом не заканчивается, в дело вступают проблемы программного характера: не всегда полученное количество отсчетов АЦП можно непосредственно вывести на экран, вступают в силу ошибки накопления, округления и прочие.

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

Итак, что же мы имеем?


Читать дальше

Примеры инициализации периферии STM32F103 без использования библиотек

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


Читать дальше

Очередной проводной "велосипед" для датчиков дома/квартиры

Озадачился малой домашней автоматизацией/управлением. Поиски что уже есть показали беспроводные (Zwave, и т.п.), проводные решения (Ethernet, 1-wire и подобное). Беспроводка — дорого, Ethernet — тоже неслабо стоит за каждое устройство. Ну, соответственно, захотелось изобрести собственные костыли.



Читать дальше
  • +3
  • 20 января 2013, 00:09
  • artko
  • 2

Преобразуем в строку. Часть 2. Числа с фиксированной и плавающей точкой.

Продолжаем преобразовывать всё, что можно в строки.
В предыдущей статье были целые числа, теперь очередь чисел с фиксированной и плавающей точкой.
Все рассмотренные примеры с фиксированной точкой используют формат с 16-ю битами для дробной части и 16-ю битами для целой части, так называемый формат Q16, однако легко могут быть адаптированы для других форматов.

В качестве чисел с плавающей точкой использован 32-х разрядный float.



Читать дальше
  • +14
  • 07 января 2013, 13:08
  • neiver
  • 1