Янв 032013
 

Один из постоянных читателей блога – Metcenger, попросил выложить на сайте свой проект для STM32L152. В проекте использован макрос, который упрощает работу с портами микроконтроллера STM32L152 (кроме того, этот макрос можно использовать для AT91SAM7, LPC2xxx, ADuC70xxx, AVR, MSP).

Continue reading »

Дек 282012
 

Изучая просторы ebay на предмет недорогих логических анализаторов, натолкнулся на интересный продукт китайской электроники. Отладочная плата на основе микроконтроллера фирмы Cypress, представляемая китайскими продавцами в качестве логического анализатора. Давно хотел обзавестись логическим анализатором, полезная штука, позволяет при подключении к линиям различных интерфейсов наблюдать за тем, что реально передается по этим шинам. При этом информация из ноликов и единичек преобразуется в читаемый формат, например hex или ASCII. Заинтересовался этой платой, решил заказать и испытать. Все-таки за цену чуть менее 12$ не жалко поиграться и забыть, если не понравится.Вид 1И вот, на этой неделе пришла посылка с платой, ниже делюсь результатами первых опытов.

Continue reading »

Дек 012012
 

Кроме вывода символов иногда может потребоваться отображение графической информации. В этом случае можно использовать дисплей, в котором изображение формируется с помощью матрицы точек. Одними из самых простых и популярных являются дисплеи на основе контроллера KS0108. Здесь будут рассмотрены характеристики и порядок работы с одним из дисплеев данного типа, имеющим разрешение 128х64 пикселей.

Continue reading »

Ноя 112012
 

Недавно принял участие в семинаре «Применение 32-разрядных микроконтроллеров ATMEL на базе ядра CortеxM4 с использованием интегрированной среды разработки Atmel Studio 6», который проводила компания Rainbow Electronics в Екатеринбурге.  Семинар был практический, после обзорного знакомства с микроконтроллерами Atmel на базе ядра Cortex-M4, участники приступили к выполнению лабораторных работ. Работали с отладочной платой SAM4S Xplaned в среде разработки Atmel Studio 6.   Прошлогодний семинар проводил представитель фирмы Atmel из Франции, тогда темой были микроконтроллеры Cortex-M3, а с примерами проектов работали в среде IAR. Честно говоря, после прошлогоднего семинара пару дней побаловался с отладочной платой, которые подарили каждому участнику, и все на этом. Тогда у меня сложилось впечатление, что Atmel вчистую проигрывает STMicroelectronics в продвижении микроконтроллеров на ядре Cortex-M3. Цена чипов и отладочных плат, русскоязычные сайты по тематике – все это  было в пользу STM32. Нынешний семинар привлек возможностью попробовать среду разработки Atmel Studio 6, самостоятельно я ее не изучал из-за отсутствия аппаратных средств отладки. О впечатлениях от прошедшего семинара, а также знакомства с новой продукцией Atmel читайте далее.

Continue reading »

Окт 062012
 

Вдогонку к статье о модуле  SPI STM32, где рассмотрен порядок работы с ним через регистры, дополняю тему информацией. Здесь будут описаны функции файла spi.c из пакета стандартных библиотек StdPeriph_Lib.

Continue reading »

Окт 032012
 

SPI (Serial Pheripheral Interface) – последовательный синхронный интерфейс для обмена данными между микросхемами. Этот интерфейс подразумевает четкую иерархию – всегда есть ведущее устройство “Master” и подчиненное устройство “Slave” (или несколько устройств на одной шине). Master выбирает подчиненное устройство, с которым будет производить обмен данными в текущий момент. Подчиненные устройства Slave ожидают команды от Master для начала обмена данными. Сигнал синхронизации генерирует Master и, далее, ведущее и подчиненное устройства начинают обмен данными. Ведущим устройством очень часто является микроконтроллер, а подчиненными устройствами могут быть различные микросхемы: память, АЦП и ЦАП, микроконтроллеры, и другие.

Continue reading »

Сен 122012
 

При создании нового проекта к нему подключается файл system_stm32l1xx.c, функции которого выполняют начальную инициализацию системы тактирования микроконтроллера STM32. Системная тактовая частота SYSCLK и тактовые частоты периферии (AHB, APB1, APB2, таймеров…) после выполнения начальной инициализации будут иметь строго определенные значения, и разработчику для изменения тактовых частот и их источников потребуется делать это в коде своего приложения, либо файл system_stm32l1xx.c заранее корректировать. С сайта ST Microelectronics можно загрузить небольшую утилиту, позволяющую в визуальном режиме выполнить настройки системы тактирования. Все это выполнено в формате Excel, а на выходе генерируется готовый файл system_stm32l1xx.c, но уже с теми значениями тактовых частот и выбором источников тактирования, которые необходимы в проекте. Остается подключить этот файл к проекту при его создании, тогда нужные настройки будут произведены на этапе начальной инициализации, освобождая разработчика от необходимости делать это в дальнейшем.

Continue reading »

Авг 302012
 

Этот таймер не описан подробно в документации на конкретное семейство микроконтроллеров, например в том же Reference manual про него присутствует всего лишь несколько строк. Дело в том, что эти документы в основном объясняют порядок работы с периферией. А таймер SysTick расположен в ядре микроконтроллера и для всех устройств на базе ядра Cortex является стандартным.  Этот таймер предназначен для формирования временных интервалов операционной системы реального времени – RTOS. Но и для других целей можно использовать периодические прерывания, формируемые этим таймером. В микроконтроллерах на ядре Cortex время перехода к обработчику прерывания строго детерминировано, что является огромным плюсом этого ядра. В этой статье будет вкратце описан системный таймер SysTick (вкратце ввиду его простоты) и приведены практические примеры работы с ним.

Continue reading »

Авг 192012
 

В завершающей части рассмотрены примеры работы с модулем USART микроконтроллеров серий STM32F и STM32L, и, в данном случае уже осуществляется двунаправленный обмен данными между компьютером и микроконтроллером. Изменения в настройках будут небольшие – всего лишь разрешим работу приемника USART и сконфигурируем под него нужный вывод GPIO. Ниже будут приведены примеры программ, проверенные на двух отладочных платах:

  • STM32L-DISCOVERY (серия STM32L) и
  • STM32VL-DISCOVERY (серия STM32F),

а также в конце статьи можно загрузить готовые проекты в IAR.

Continue reading »

Авг 172012
 

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

Continue reading »