Управление портами

32-разрядные микроконтроллеры разработки АО "НИИЭТ"

Модераторы: ea, dav, bkolbov, Alis, pip, _sva_

Ответить
Al-x
Сообщения: 29
Зарегистрирован: 02 фев 2021, 19:22
Предприятие: АО "НТЦ "РИФ"

Управление портами

Сообщение Al-x »

Из руководства К1921ВК01Т, не очевидно значение полей: OUTENSET / GPIODEN.
Направление работы выводов определяется состоянием бит регистра OUTENSET (для сброса установленных бит следует записать единицы в регистр OUTENCLR).
GPIODEN0
00020062h
Регистр разрешения выходов портов А и В


В моей программе биты выходов установлены в обоих регистрах:
NT_GPIOA->OUTENSET = GPIO_Pin_1 | GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_8 | GPIO_Pin_12 | GPIO_Pin_13;

NT_COMMON_REG->GPIODENA = GPIO_Pin_1 | GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_8 | GPIO_Pin_12 | GPIO_Pin_13;
Биты входов я превентивно заранее сбрасываю так:
NT_GPIOA->OUTENCLR = GPIO_OUTENCLR_OUTENCLR_Msk;
Оно не жалуется и работает, но опять же - тайный смысл двух регистров не ясен, а следовательно нет понимания - правильно или нет оно настроено.
Аватара пользователя
Лашкевич
Сообщения: 372
Зарегистрирован: 13 май 2015, 13:10
Предприятие: ООО "НПФ Вектор"
Откуда: Москва
Контактная информация:

Re: Управление портами

Сообщение Лашкевич »

Энейбл (GPIODEN0-3) это разрешение работы порта, обычно его в ините ставят в 0xFFFFFFFF и больше не трогают. А дальше уже в зависимоти от программы ставить в OUTENSET нужные биты.
С уважением,
Лашкевич Максим.
Инженер-программист ООО "НПФ Вектор", Москва.
http://motorcontrol.ru/
Al-x
Сообщения: 29
Зарегистрирован: 02 фев 2021, 19:22
Предприятие: АО "НТЦ "РИФ"

Re: Управление портами

Сообщение Al-x »

Понятно, спс. Как входы они работают без энейбл, получается, как ни странно))
Ответить

Вернуться в «32-разрядные микроконтроллеры»