Микроконтроллеры 32 бит
ARM микроконтроллеры семейства LPC11xx
Семейство ARM микроконтроллеров LPC11xx является младшим в линейке микросхем, выпускаемых фирмой NXP. В состав семейства входят 4 модели, отличающихся количеством линий ввода/вывода. Все они построены с использованием ядра Cortex-M0. Микросхемы LPC11xx представляют собой недорогие 32-разрядные ARM микроконтроллеры, предназначенные для создания устройств, где традиционно использовались 8- или 16-битные процессоры.
Работа с портами ввода/вывода LPC1114. Библиотека gpio.c.
Для удобства работы со своими микроконтроллерами, NXP предоставляет несколько библиотек периферийных устройств. В состав этих библиотек включены функции, реализующие работу с оборудованием на более высоком уровне, чем это делается с помощью прямого программирования регистров. Для работы с портами ввода вывода используется библиотека gpio.c, описание функций которой приведено ниже.
Работа с портами ввода/вывода LPC1114. Пример.
Пример работы с GPIO показывает основные действия по настройке, опросу и установке линий порта ввода/вывода, за исключением вопросов, связанных с прерываниями. Для установки отдельных битов используется операция сдвига, вида (1<<6). В данном случае это означает, что 1 сдвигается на 6 разрядов влево. Иначе говоря, данная операция заносит единицы в 6 бит регистра. Такая запись удобна тем, что позволяет видеть непосредственно номер бита, с которым производится работа. Обратная операция будет выглядеть (0<<6), хотя ее можно заменить на простое нулевое значение.
Работа с портами ввода/вывода LPC1114. Регистры.
В микроконтроллерах серии LPC11xx и их вариантах общее количество линий портов ввода/вывода составляет от 28 до 42. При этом все линии объединяются в необходимое количество 12-разрядных глобальных портов GPIO, обозначаемых цифрами от 0 до 3. Для работы с портами предусмотрено 9 регистров специального назначения. Все регистры имеют разрядность 32 бита, но используется только 12 младших разрядов.
Работа с портами ввода/вывода LPC1114.
Работа с портами ввода/вывода выполняется в каждом проекте, так как данные устройства составляют основу периферийных модулей микроконтроллера. Использование только этих портов, без применения других элементов, позволяет разработать огромное количество приложений. Но несмотря на то, что линии ввода/вывода неотъемлемая часть любого микроконтроллер, работа с ними в разных моделях может существенно отличаться. Ниже рассмотрены основные принципы, используемые в микросхемах серии LPC11xx.
Отладочные средства LPCXpresso
Для ознакомления с возможностями микроконтроллеров, производящихся фирмой NXP, доступно множество отладочных и демо-плат. Одними из самых популярных таких устройств стали модели серии LPCXpresso, созданные специалистами Embedded Artists.
STM32. Работа с базовыми портами ввода/вывода. Примеры.
Дискретный ввод/вывод данных – самый простой и распространенный режим работы микроконтроллеров. На его основе можно построить огромное число схем, а также реализовать многие стандартные интерфейсы. Использование данного режима в микроконтроллерах STM32 основана на настройке соответствующих регистров. Ниже приведены примеры программного кода настройки и работы цифровых линий ввода/вывода, опробованные в Atollic TrueSTUDIO. Примеры настройки приведены только для одного порта, для других все выполняется аналогично, путем подстановки соответствующих названий портов.