Среда разработки. Создание проекта в среде разработки. Использование портов ввода/вывода презентация

Содержание

Слайд 2

Маркировка

Отладочная плата Stm32

Маркировка Отладочная плата Stm32

Слайд 3

Описание

В системе STM32:
Порты обозначаются GPIOA, GPIOB, GPIOC и т.д. На схеме микроконтроллера соответствующие

портам выводы обозначаются PA0-PA15, PB0-PB15, PC0-PC15…
Порты 16ти разрядные, т.е. у каждого порта 16 выводов.
Режим и состояние каждого вывода могут быть установлены отдельно, независимо от других выводов.

Порты ввода/вывода

Описание В системе STM32: Порты обозначаются GPIOA, GPIOB, GPIOC и т.д. На схеме

Слайд 4

Режимы порта ввода/вывода

Input floating – вход без подтягивающего резистора, брошенный в воздухе вход.
Input pull-up –

вход с подтягивающим резистором, подключенным к питанию микроконтроллера.
Input pull-down - вход с подтягивающим резистором, подключенным к общему проводу (земле).
Analog – аналоговый вход ( вход АЦП, компараторов и т.п.).
Output open-drain – выход с открытым стоком. Функционально аналогичен выходу с открытым коллектором. При низком логическом уровне замыкает вывод на землю, при высоком – бросает в воздухе.
Output push-pull – обычный активный выход. При низком логическом уровне напряжение на выводе равно 0, при высоком – напряжение близко к напряжению питания микроконтроллера, обычно + 3 В.
Alternate function push-pull – альтернативная функция вывода в обычном (активном) режиме.
Alternate function open-drain – альтернативная функция вывода в режиме открытый сток.

Порты ввода/вывода

Режимы порта ввода/вывода Input floating – вход без подтягивающего резистора, брошенный в воздухе

Слайд 5

Режимы порта ввода/вывода

Порты ввода/вывода

Режимы порта ввода/вывода Порты ввода/вывода

Слайд 6

Режимы порта ввода/вывода

Порты ввода/вывода

Режимы порта ввода/вывода Порты ввода/вывода

Слайд 7

Конфигурация

Текст слайда

Порты ввода/вывода

Конфигурация Текст слайда Порты ввода/вывода

Слайд 8

Программное управление

Для каждого порта (16 выводов) есть два 32х разрядных регистра конфигурации. Они

образуют 64 битный регистр конфигурации порта.
Младший регистр конфигурации портов  GPIOx_CRL  (Port configuration register low)
Старший регистр конфигурации портов  GPIOx_CRH  (Port configuration register high)

Порты ввода/вывода

Программное управление Для каждого порта (16 выводов) есть два 32х разрядных регистра конфигурации.

Слайд 9

Программное управление

На каждый вывод отводится 4 бита, которые делятся на 2 битные поля

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

Порты ввода/вывода

Программное управление На каждый вывод отводится 4 бита, которые делятся на 2 битные

Слайд 10

Программное управление

Поле режима дополняют биты конфигурации.

Порты ввода/вывода

Программное управление Поле режима дополняют биты конфигурации. Порты ввода/вывода

Слайд 11

Прямое обращение к регистрам

// включаем тактирование портов А и B RCC_APB2ENR
*((unsigned long*)0x40021018) |=

0x18;//b1100
// настраиваем чтобы диод пока не горел, так как он pushed up
*(unsigned long*)0x4001100C |= (1<<13);
// настраиваем GPIOC13 на выход push-pull
*(unsigned long*)0x40011004 &= ~((1<<23)|(1<<22)|(1<<20));
*(unsigned long*)0x40011004 |= (1<<21);
// настроим на вход GPIOA_CRH PIN1 и подтянем его к питанию
*(unsigned long*)0x40010C04 &= ~((1<<26)|(1<<25)|(1<<24));
*(unsigned long*)0x40010C04 |= (1<<27);
*(unsigned long*)0x40010C0C &= ~(1<<14); // pull-down

Порты ввода/вывода

Прямое обращение к регистрам // включаем тактирование портов А и B RCC_APB2ENR *((unsigned

Слайд 12

Библиотека CMSIS

// Включаем тактирование недостающих портов А и В (C уже включен)
RCC->APB2ENR |=

RCC_APB2ENR_IOPAEN | RCC_APB2ENR_IOPBEN; // | RCC_APB2ENR_IOPCEN;
// сброс состояния порта
GPIOC->CRH &=~(GPIO_CRH_CNF14_1 | GPIO_CRH_CNF14_0 | GPIO_CRH_MODE14_1 | GPIO_CRH_MODE14_0 |
GPIO_CRH_CNF15_1 | GPIO_CRH_CNF15_0 | GPIO_CRH_MODE15_1 | GPIO_CRH_MODE15_0);
GPIOA->CRL &=~(GPIO_CRL_CNF4_1 | GPIO_CRL_CNF4_0 | GPIO_CRL_MODE4_1 | GPIO_CRL_MODE4_0 |
GPIO_CRL_CNF7_1 | GPIO_CRL_CNF7_0 | GPIO_CRL_MODE7_1 | GPIO_CRL_MODE7_0);
// Настройка кнопки 3, как вход с подтяжкой к земле
GPIOA->CRL |= GPIO_CRL_CNF7_1;
GPIOA->ODR &=~GPIO_ODR_ODR7; //
// Настройка кнопки 1,2,4, как вход с подтяжкой к плюсу
GPIOC->CRH |= GPIO_CRH_CNF14_1;
GPIOC->ODR |= GPIO_ODR_ODR14; //кнопка 1

Порты ввода/вывода

Библиотека CMSIS // Включаем тактирование недостающих портов А и В (C уже включен)

Слайд 13

Библиотека SPL

PPP – акроним для периферии, например GPIO, ADC, TIM.
Для настройки каждого

периферийного устройства используется структура PPP_InitTypeDef, которая передается в функцию PPP_Init() через указатель.
Для деинициализации (установки значения по умолчанию) можно использовать функцию PPP_DeInit().
Функция, позволяющая включить или отключить периферию, именуется PPP_Cmd();
Функция включения/отключения прерывания именуется PPP_ITConfig

Порты ввода/вывода

Библиотека SPL PPP – акроним для периферии, например GPIO, ADC, TIM. Для настройки

Слайд 14

Gpio_InitTypeDef

GPIO_Pin (номер вывода):
GPIO_Pin_0 — вывод 0;
GPIO_Pin_1— вывод 1;
..
GPIO_Pin_15 — вывод

15;
GPIO_Pin_All — все выводы;
GPIOSpeed
GPIO_Speed_10MHz
GPIO_Speed_2MHz
GPIO_Speed_50MHz

Порты ввода/вывода

Gpio_InitTypeDef GPIO_Pin (номер вывода): GPIO_Pin_0 — вывод 0; GPIO_Pin_1— вывод 1; .. GPIO_Pin_15

Слайд 15

Gpio_InitTypeDef

GPIO_Mode_AIN — аналоговый вход;
GPIO_Mode_IN_FLOATING — цифровой вход, третье состояние;
GPIO_Mode_IPD — цифровой

вход, подтяжка к земле;
GPIO_Mode_IPU — цифровой вход, подтяжка к плюсу питания;
GPIO_Mode_Out_OD — выход общего назначения, открытый сток;
GPIO_Mode_Out_PP — симметричный выход общего назначения;
GPIO_Mode_AF_OD — выход альтернативной функции, открытый сток;
GPIO_Mode_AF_PP — симметричный выход альтернативной функции

Порты ввода/вывода

Gpio_InitTypeDef GPIO_Mode_AIN — аналоговый вход; GPIO_Mode_IN_FLOATING — цифровой вход, третье состояние; GPIO_Mode_IPD —

Слайд 16

Подключение программатора

Порты ввода/вывода

Подключение программатора Порты ввода/вывода

Слайд 17

Gpio_InitTypeDef

GPIO_Mode_AIN — аналоговый вход;
GPIO_Mode_IN_FLOATING — цифровой вход, третье состояние;
GPIO_Mode_IPD — цифровой

вход, подтяжка к земле;
GPIO_Mode_IPU — цифровой вход, подтяжка к плюсу питания;
GPIO_Mode_Out_OD — выход общего назначения, открытый сток;
GPIO_Mode_Out_PP — симметричный выход общего назначения;
GPIO_Mode_AF_OD — выход альтернативной функции, открытый сток;
GPIO_Mode_AF_PP — симметричный выход альтернативной функции

Порты ввода/вывода

Gpio_InitTypeDef GPIO_Mode_AIN — аналоговый вход; GPIO_Mode_IN_FLOATING — цифровой вход, третье состояние; GPIO_Mode_IPD —

Имя файла: Среда-разработки.-Создание-проекта-в-среде-разработки.-Использование-портов-ввода/вывода.pptx
Количество просмотров: 55
Количество скачиваний: 0