Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Remap stm32
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Все остальные микроконтроллеры
Ekka
Ребят, всем доброго времени суток) Такой вопрос, хочу использовать пин А15 как простой пин, а там висит JTDI. Пыталась сделать так:

Код
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);


потом инвертирую его по таймеру. Безрезультатно. Висит в первоначальном состоянии.
А еще какие GPIO_Remap надо использовать, чтобы как обычные пины применить B3, который тоже с загадочным JTDO?
Эдди
Делаю
Код
AFIO_MAPR = AFIO_MAPR_SWJ_CFG_JTAG_OFF_SW_OFF;

и все! Потом делаем
Код
gpio_set(GPIOA, GPIO15);

и пин переводится в 1.

P.S. Что нужно в AFIO_MAPR записать, чтобы нужные пины заремапить, читайте в даташите!
Ekka
Пин просто висит в единице. При попытке его установить в 0, на осциллографе все равно единичка висит.
Эдди
Он точно сконфигурирован на выход?
Бит RCC_APB2ENR_IOPAEN у регистра RCC_APB2ENR установлен?
И да, нужно AFIO разрешить, т.е. установить у RCC_APB2ENR еще и бит RCC_APB2ENR_AFIOEN.
Ekka
Цитата(Эдди @ May 5 2016, 11:18) *
Он точно сконфигурирован на выход?
Бит RCC_APB2ENR_IOPAEN у регистра RCC_APB2ENR установлен?
И да, нужно AFIO разрешить, т.е. установить у RCC_APB2ENR еще и бит RCC_APB2ENR_AFIOEN.


да, вот все настроено:
Код
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);

GPIO_InitTypeDef port;
port.GPIO_Mode = GPIO_Mode_Out_PP;
port.GPIO_Pin = GPIO_Pin_15;
port.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA, &port);
GPIOA->ODR&=~GPIO_Pin_15;


Эдди, спасибо. Заработало. Пока сюда код не залила, не увидела, что репамы перепутала)
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.