Авг 172012
 

Данная статья – лишь небольшое дополнение к предыдущей части. Здесь рассмотрим настройки USART STM32 с использованием стандартных библиотек. Полный контроль над кодом программы и содержимым регистров на каждом шаге – это замечательно, но в данном случае использование библиотек тоже имеет положительные стороны.

Continue reading »

Авг 112012
 

Данная статья – продолжение предыдущей, здесь будет приведен код программы для соединения отладочной платы STM32L-DISCOVERY с компьютером через встроенный модуль USART1. В части настроек модуля USART код для STM32L абсолютно идентичен коду для STM32F, приведенному в предыдущей статье. За исключением настроек делителя системной частоты (регистр USART_BRR) для получения требуемой скорости обмена. Также имеются отличия в настройках выводов портов для этих серий микроконтроллеров.

Continue reading »

Авг 112012
 

Универсальный синхронно-асинхронный приемопередатчик  (USART) – один из “долгожителей” цифровой техники. В большинстве современных микроконтроллеров он является стандартным модулем и, наверное, еще долго будет применяться из-за своей простоты и надежности. В STM32 может быть несколько таких приемопередатчиков, все они имеют стандартный и легко настраиваемый интерфейс обмена. Ниже будет рассмотрена классическая задача – передача данных из микроконтроллера в компьютер через виртуальный COM-порт.

Continue reading »

Июн 152012
 

В микроконтроллерах STM32 имеется возможность программирования флэш-памяти с использованием последовательного интерфейса. Это реализуется с помощью одного или нескольких встроенных USART, CAN или USB в зависимости от типа микроконтроллера. STM32 имеют в пространстве памяти специальную область – системную память (system memory), в которой и хранится код встроенного загрузчика. Bootloader записывается в системную память еще на производстве и любой “чистый” микроконтроллер можно запрограммировать с помощью простейшего и дешевого программатора, либо обновить ПО в готовом изделии.

Continue reading »

Июн 032012
 

Мониторинг посещаемости сайта выявил – подавляющее большинство просмотров приходится на самые первые 2 статьи, в которых описан процесс создания и настройки проекта в среде IAR EWARM, и процедура настройки портов ввода-вывода данных. Во всех проектах, где не используются библиотечные функции, а инициализация периферии и рабочий код программы построены на работе напрямую с регистрами периферийных модулей, всегда в этих случаях подключается внешний файл с описанием периферии. Для серии STM32L это файл stm32l1xx.h, для микроконтроллеров STM32F10x это будет файл stm32f10x.h. Чтобы было понятно в дальнейшем, по какому принципу в тексте программы строятся команды, управляющие значениями регистров, и что это за непонятные наборы букв в них содержатся, пора бы познакомиться с этими файлами, подключаемыми к проекту. Что они содержат, и для чего служат – читайте ниже.

Continue reading »

Июн 022012
 

На данный момент последняя версия библиотек StdPeriph_lib для серии STM32L – это версия 1.1.1. В моих архивах с примерами проектов находятся библиотеки версии 1.1.0. Торопиться обновлять библиотеки не спешите, если работаете с платой STM32L-DISCOVERY, используйте библиотеки из моих проектов, хуже точно не будет. Далее объясняю почему лучше пользоваться предыдущей версией, и какие изменения коснулись библиотек.

Continue reading »

Май 292012
 

Для данной серии максимально возможная системная тактовая частота SYSCLK равна 32 МГц. Достичь такого значения можно только при выборе PLL источником тактирования. Далее будет описан порядок конфигурации PLL для работы микроконтроллера “на пределе”.  А заодно задействуем внешний вывод на отладочной плате STM32L-DISCOVERY для наблюдения за результатом.

Continue reading »

Май 232012
 

Логическим продолжением описания работы модулей ADC и контроллера LCD было бы их совместное использование для вывода на экран результата преобразования. В предыдущих примерах , где рассматривалась работа с контроллером LCD, были использованы два варианта настройки этого модуля:

Continue reading »

Май 172012
 

Начал собирать небольшую плату для реализации одного проекта. Пока набор функций и пользовательский интерфейс полностью не продуман, поэтому делаю на готовой макетной плате, запаял туда STM32F103RCT6. Микроконтроллер выбран с большим запасом, у этого чипа 256 КБайт Flash памяти, 48 КБайт памяти SRAM, а также полно всяческой периферии (серия STM32L152 по набору внутренних модулей и тактовой частоте этому “камушку”  уступает, зато в ней есть встроенный контроллер ЖКИ и, конечно, главный ее плюс — малое энергопотребление). Далее будет описан процесс подключения встроенного ST-LINK к внешнему микроконтроллеру. Заодно рассмотрим процедуру создания проекта в Keil. Это очень мощная среда разработки, и обойти ее вниманием было бы незаслуженно.

Continue reading »

Май 012012
 

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

Continue reading »