ChipSpace

Янв 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
 

Полезная программа для конфигурации выводов 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 »

Апр 262013
 

Когда-то, еще совсем недавно, я частенько заказывал бесплатные образцы (сэмплы) у известной американской компании Analog Devices. И регулярно курьер привозил заказанные микросхемы, даже не все еще пришлось пустить в дело, а накопил уже достаточно. Одно время по необходимости заказывал различные операционные усилители, здесь и rail-to-rail, и различные малошумящие и прецизионные усилители. Всяческие DC преобразователи с изолированными цепями управления по разным интерфейсам, USB интерфейсы с гальванической развязкой и т.д. Все это лежит в фирменных коробочках и ждет своего часа. А недавно, перебирая эти запасы, наткнулся на микросхему AD5242 и подумал, а почему бы не внедрить в одно из устройств эти цифровые потенциометры, чтобы управление и цифровыми и аналоговыми цепями шло от одного микроконтроллера. Для начала решил подключить AD5242 к STM32, сделать пробную заготовку программы управления цифровым потенциометром, “пощупать” эту связку осциллографом и мультиметром, а затем уже внедрить эту микросхему в цепь обратной связи операционного усилителя для регулировки коэффициента усиления с помощью цифровых посылок от микроконтроллера. Ниже изложу описание устройства микросхем AD5241 и AD5242, принципов их работы в моем понимании, а также поделюсь результатами эксперимента.

Continue reading »

Апр 082013
 

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

Continue reading »