реклама на сайте
подробности

 
 
> Конфигурация пинов назад в GPIO после режима USB, stm32f103
batson
сообщение Nov 27 2014, 14:38
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 28
Регистрация: 26-02-11
Пользователь №: 63 256



Вобщем немогу сконфигурировать пины PA11 PA12 обратно в GPIO после использования USB. Вот уже не думал что с этим будет проблема, такое ощущение что модуль USB не отключается, что я мог упустить?

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

Но после этого порт по прежнему занят. Проц stm32f103.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 6)
SSerge
сообщение Nov 27 2014, 17:33
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 719
Регистрация: 13-09-05
Из: Novosibirsk
Пользователь №: 8 528



Цитата(batson @ Nov 27 2014, 21:38) *
что я мог упустить?

Регистр GPIOA_LCKR?


--------------------
Russia est omnis divisa in partes octo.
Go to the top of the page
 
+Quote Post
batson
сообщение Nov 27 2014, 19:44
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 28
Регистрация: 26-02-11
Пользователь №: 63 256



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

У кого какие варианты?
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Nov 27 2014, 19:49
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



альтернативную функцию ножек не выключаете?
Go to the top of the page
 
+Quote Post
batson
сообщение Nov 27 2014, 20:07
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 28
Регистрация: 26-02-11
Пользователь №: 63 256



Ну как-то так

Код
    GPIOA->CRH &= ~GPIO_CRH_MODE12;
    GPIOA->CRH &= ~GPIO_CRH_CNF12;
    GPIOA->CRH |= GPIO_CRH_MODE12_0;
    GPIOA->CRH |= GPIO_CRH_CNF12_0;
Go to the top of the page
 
+Quote Post
SSerge
сообщение Nov 27 2014, 20:35
Сообщение #6


Профессионал
*****

Группа: Свой
Сообщений: 1 719
Регистрация: 13-09-05
Из: Novosibirsk
Пользователь №: 8 528



Пришлось заглянуть в реф. мануал.
У 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.

Если мануал нам не врёт.
На реальном железе не проверял.


--------------------
Russia est omnis divisa in partes octo.
Go to the top of the page
 
+Quote Post
batson
сообщение Nov 27 2014, 20:43
Сообщение #7


Участник
*

Группа: Участник
Сообщений: 28
Регистрация: 26-02-11
Пользователь №: 63 256



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

SSerge, , благодарствую, так оно даже лучше будет, надо попробовать
но мой способ "в лоб" работает, уже попробовал
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 23:10
Рейтинг@Mail.ru


Страница сгенерированна за 0.0236 секунд с 7
ELECTRONIX ©2004-2016