STM32 с нуля. Отладка в Keil.

Продолжаем изучение STM32 с нуля. Пришло время убедиться в том, что наша программа работает так, как задумано, и в этом нам поможет отладка в Keil. Запускаем проект из предыдущей статьи про GPIO, компилируем и жмем на значок в виде лупы на панели инструментов. Также можно нажимать Ctrl+F5 или через меню – Debug->Start/Stop Debug Session. Итак, мы оказались а режиме отладки. Тут можно посмотреть, какие значения записаны в регистры общего назначения, также есть окошко дизассемблера. В общем можно найти много интересного =).Отладка для микроконтроллера STM32

Для увеличения картинки тыкайте на нее =)

Читать далее

STM32 с нуля. GPIO. Порты ввода-вывода.

В первую очередь давайте посмотрим в каких режимах могут работать порты ввода-вывода в STM32F10x. А режимов этих существует море, а именно:

  • Input floating
  • Input pull-up
  • Input-pull-down
  • Analog
  • Output open-drain
  • Output push-pull
  • Alternate function push-pull
  • Alternate function open-drain

А если по-нашему, то при работе на вход:

  • Вход – Hi-Z
  • Вход – подтяжка вверх
  • Вход – подтяжка вниз
  • Вход – аналоговый

При работе порта на выход имеем следующие варианты:

  • Выход – с открытым коллектором
  • Выход – двухтактный
  • Альтернативные функции – выход типа «с открытым коллектором»
  • Альтернативные функции – двухтактный выход Читать далее

STM32 с нуля. Keil. Создание проекта.

Итак, компилятор установлен, пришло время создания первого проекта. Сразу думаю надо обсудить библиотеки, которые мы будем использовать в нашей работе с STM32.

Во-первых, CMSIS. Это замечательная библиотека, единый стандарт для всех Cortex. CMSIS  позволяет легко переносить код с одного контроллера с ядром ARM Cortex на любой другой. Короче, в CMSIS стандартизирован доступ к разной периферии разных микроконтроллеров STM.  Библиотека состоит из нескольких файлов, которые нам надо будет добавить в проект, но об этом немного позднее.

Во-вторых, библиотека Standard Peripheral Library. В SPL очень удобно, в виде структур, реализована настройка всевозможной периферии, а также есть множество функций для работы с ней. Эту библиотеку достаточно подробно будем ковырять при обсуждении какой-либо конкретной периферии в будущих статьях. А сейчас кратенько рассмотрим ее структуру в общих чертах. Для любой периферии есть 2 файла: заголовочный файл и собственно исходный файл. В первом содержатся структуры для настройки, во втором функции для обращения к ней. Так что, создавая проект для работы, например, с АЦП, мы будем включать в проект два файла из Standard Peripheral Library.

Читать далее

STM32 с нуля. Введение.

Приветствую всех любителей программирования, микроконтроллеров, да и электроники в целом на нашем сайте! В этой статье немного расскажу о том, чем мы будем заниматься тут, а именно об учебном курсе по микроконтроллерам ARM.

Итак, для начала разберемся, что же нужно знать и уметь, чтобы начать изучать ARM’ы. А, в принципе, ничего супер сложного и фееричного 😉 Конечно, на контроллеры ARM люди обычно переходят, уже наигравшись с PIC’ами и AVR’ками, то есть в большинстве своем опытные разработчики. Но я постараюсь максимально подробно и понятно описывать все то, что мы будем разбирать, чтобы те, кто впервые решил попробовать себя в программировании микроконтроллеров, могли легко разобраться в материале. Кстати, если будут возникать какие-нибудь вопросы, или просто что-то будет работать не так, как задумывалось, пишите в комментарии, постараюсь разобраться и помочь.

Читать далее