Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Конфигурация пинов назад в GPIO после режима USB
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
batson
Вобщем немогу сконфигурировать пины PA11 PA12 обратно в GPIO после использования USB. Вот уже не думал что с этим будет проблема, такое ощущение что модуль USB не отключается, что я мог упустить?

Пробовал
отключать тактирование USB RCC->APB1ENR &= ~RCC_APB1ENR_USBEN
и сбрасывать USB_DADDR_EF;

Но после этого порт по прежнему занят. Проц stm32f103.
SSerge
Цитата(batson @ Nov 27 2014, 21:38) *
что я мог упустить?

Регистр GPIOA_LCKR?
batson
>Регистр GPIOA_LCKR?
Нет.

У кого какие варианты?
Golikov A.
альтернативную функцию ножек не выключаете?
batson
Ну как-то так

Код
    GPIOA->CRH &= ~GPIO_CRH_MODE12;
    GPIOA->CRH &= ~GPIO_CRH_CNF12;
    GPIOA->CRH |= GPIO_CRH_MODE12_0;
    GPIOA->CRH |= GPIO_CRH_CNF12_0;
SSerge
Пришлось заглянуть в реф. мануал.
У F103 ноги USB никак специально конфигурировать не нужно, они сами включатся в нужный режим после включения USB.
А выключить USB можно битом в регистре USB_CNTR, после чего можно будет сконфигурировать освободившиеся ноги PA11 и PA12 в нужный режим.
Цитата
Bit 1 PDWN: Power down
This bit is used to completely switch off all USB-related analog parts if it is required to
completely disable the USB peripheral for any reason. When this bit is set, the USB
peripheral is disconnected from the transceivers and it cannot be used.
0: Exit Power Down.
1: Enter Power down mode.

Если мануал нам не врёт.
На реальном железе не проверял.
batson
Кажись нашел спасение - в добавок ко всему, перед переинициализацией ножек надо делать ресет usb
RCC->APB1RSTR |= RCC_APB1RSTR_USBRST;
08.gif

SSerge, , благодарствую, так оно даже лучше будет, надо попробовать
но мой способ "в лоб" работает, уже попробовал
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.