Янв 112015
 

Язык C++ в проектах для STM32 мне до этого использовать не приходилось. Для программирования микроконтроллеров возможности языка Си с лихвой перекрывали все мои скромные потребности. Однако, все когда-то случается в первый раз, вот и мне понадобилось настроить проект в IAR для использования C++. Сразу скажу, что этот язык программирования я практически не знаю, когда-то был опыт программирования на языке высокого уровня, но это был Delphi. Помочь с настройкой проекта меня попросили, были какие-то проблемы с подключением готовых библиотек на C++. Поэтому я сделал простейший проект с настройками для использования этого языка. В дальнейшем, после выполнения данных настроек, каких-либо проблем не возникало, функции из библиотек C++ выполняются, и программа работает как нужно. Однако, как я уже говорил, делал подобный проект в первый раз, поэтому всего лишь расскажу о процедуре настройки проекта в моем исполнении.

Continue reading »

Янв 222014
 

С некоторой поры озадачился поиском бесплатной среды разработки. IAR и Keil предлагают бесплатные версии с ограничением размера выходного файла, для изучения вполне достаточно. Однако, 32 килобайта – это совсем немного, у меня сейчас в проекте микроконтроллер STM32F103RC с 256 килобайт флэша и программа уже скоро вылезет за эти ограничения. Поэтому начал подбирать бесплатную IDE, без подобных ограничений.

Continue reading »

Окт 252013
 

Итак, продолжим знакомство со встроенной flash памятью. Начало было положено здесь. Необходимость записи пользовательских данных во flash память может возникнуть тогда, когда надо сохранить эти данные при отключении питания. В отличие от многих других микроконтроллеров, тех же 8-разрядных AVR, к примеру, большинство микроконтроллеров STM32 начисто лишены собственной EEPROM памяти. Энергонезависимая память данных EEPROM есть только у серии STM32L1 (поправьте, если ошибаюсь, STMicroelectronics периодически обновляет свою линейку Cortex-ов), а такие популярные серии, как STM32F1, почему-то обделены данной памятью. Поэтому, чтобы сохранить настройки, результаты измерений и т.п. при возможном пропадании питания придется либо использовать внешнюю микросхему EEPROM, либо данные записывать в собственную flash память. С первым случаем все понятно, а далее рассмотрим как выполняются процедуры записи данных и стирания, какие регистры для этого служат, и некоторые другие подробности.

Continue reading »

Июл 112013
 

Основное предназначение flash памяти микроконтроллера – хранение кода программы. Именно отсюда извлекаются команды, которые затем выполняются ядром микроконтроллера. Весь алгоритм поведения микроконтроллера, каким его придумал разработчик программы, то, каким образом микроконтроллер реагирует на внешние воздействия, настройка всех периферийных модулей и т.д. – все это хранится во встроенной flash памяти. Целью нескольких последующих статей является более подробное знакомство со структурой и возможностями встроенной flash памяти, а также основными методами, позволяющими выполнять действия с этой областью памяти. Стирание и программирование всей памяти программ или отдельных ячеек, регистры конфигурации flash памяти, различные варианты защиты от доступа к этой области памяти и т.д. – все это будет изложено далее. Для удобства восприятия информация будет разделена на несколько частей. Первая часть является обзорной и в ней будет рассмотрена структура flash памяти некоторых серий микроконтроллеров из семейства STM32 с ядром Cortex-M3.

Continue reading »

 Posted by at 22:40  Tagged with: ,
Июл 112013
 

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

Continue reading »

Июн 172013
 

В этой небольшой заметке будет рассказано о нескольких программах, которые могут работать непосредственно с модулями GPS, принимая данные через COM-порт компьютера в формате сообщений NMEA 0183. Это всего лишь небольшой обзор того софта, который я сам попробовал и некоторые субъективные выводы. Скажу сразу, что поиском подходящего софта особо долго не занимался, как только нашел несколько подходящих программ, на этом и остановился. Поэтому данный пост не претендует на обзор “лучших из лучших” программ работы с модулями GPS, а всего лишь познакомит с теми из них, с которыми лично довелось поработать.

Continue reading »

Июн 172013
 

NMEA 0183 – текстовый протокол связи, используемый в приемных модулях GPS. Этот стандарт был создан для связи морского навигационного оборудования. Протоколом предусмотрена передача текстовых команд и сообщений посредством ASCII символов. Таким образом, для приема сообщений достаточно использовать последовательный интерфейс UART, при этом все сообщения можно передавать непосредственно на компьютер, используя для этого COM-порт, но не забывая о необходимости преобразования уровней сигналов.

Continue reading »

Июн 102013
 

Данный модуль представляет собой недорогое решение со встроенной антенной и предназначен для работы со спутниковой навигационной системой GPS.

L50_top

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

Continue reading »