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

 
 
 
Reply to this topicStart new topic
> Как освободить PB3 и PB4 на STM32F4?
hd44780
сообщение Nov 19 2013, 19:38
Сообщение #1


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

Группа: Свой
Сообщений: 1 202
Регистрация: 26-08-05
Из: Донецк, ДНР
Пользователь №: 7 980



Собственно вопрос в теме.

При сбросе они примаплены к JTAG.
Пытался делать, как в ST-шном примере:

/* Configure PB.03 (JTDO) and PB.04 (JTRST) as output push-pull */
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3 | GPIO_Pin_4;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
GPIO_Init(GPIOA, &GPIO_InitStructure);
GPIO_Init(GPIOB, &GPIO_InitStructure);

ни фига не вышло.
Для F10x есть функция GPIO_PinRemapConfig, которая это делает. Для F4 такого не нашёл.

Мне надо дрыгать этими ногами. Ну PB3 на моей дискавери заведен на программатор, а как освободить PB4?

Спасибо.


--------------------
Чтобы возить такого пассажира, необходим лимузин другого класса.
(с) Мария Эдуарда
Go to the top of the page
 
+Quote Post
VDLab
сообщение Nov 19 2013, 21:42
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 133
Регистрация: 30-04-07
Из: DP.UA
Пользователь №: 27 419



Не знаю как на вашем птичьем а напрямую для PB.4 вроде так:
Код
GPIOB->MODER   |= 0x100;
GPIOB->OTYPER  &= 0xFFEF;

Ну, там еще со скоростью (GPIOB_OSPEEDR) надо определиться, а то вы не указали как быстро ими махать надо
Go to the top of the page
 
+Quote Post
Genadi Zawidowsk...
сообщение Nov 19 2013, 23:31
Сообщение #3


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

Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634



Цитата(VDLab @ Nov 20 2013, 01:42) *
Не знаю как на вашем птичьем а напрямую для PB.4 вроде так:
Код
GPIOB->MODER   |= 0x100;
GPIOB->OTYPER  &= 0xFFEF;

Ну, там еще со скоростью (GPIOB_OSPEEDR) надо определиться, а то вы не указали как быстро ими махать надо

Старое содержимое регистров может помешать, как Вы думаете?

Код
GPIOB->MODER = (GPIOB->MODER & ~ GPIO_MODER_MODER4) | (GPIO_MODER_MODER4_0 * 1);



hd44780, чего же в исходники моего проекта не заглядываете? Там уже и под STM32F4 есть поддержка.

Сообщение отредактировал Genadi Zawidowski - Nov 19 2013, 23:38
Go to the top of the page
 
+Quote Post
ViKo
сообщение Nov 20 2013, 08:50
Сообщение #4


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Посмотрите сюда (это, правда, от 103-го):
Код
  AFIO->MAPR |= 0x02000000;    // JTAG-DP Disabled and SW-DP Enabled
  // AFIO->MAPR |= 0x01000000;    // Full SWJ (JTAG-DP + SW-DP) but without NJTRST
Go to the top of the page
 
+Quote Post
Genadi Zawidowsk...
сообщение Nov 20 2013, 10:37
Сообщение #5


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

Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634



Цитата
Посмотрите сюда (это, правда, от 103-го):

во-первых, на F4 не поможет, во-вторых, в коде ошибка. Биты регистра MAPR, отвечающие за режим JTAG/SWD, не читаются из этого регистра.

Сообщение отредактировал Genadi Zawidowski - Nov 20 2013, 10:38
Go to the top of the page
 
+Quote Post
ViKo
сообщение Nov 20 2013, 12:23
Сообщение #6


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(Genadi Zawidowski @ Nov 20 2013, 13:37) *
во-первых, на F4 не поможет, во-вторых, в коде ошибка. Биты регистра MAPR, отвечающие за режим JTAG/SWD, не читаются из этого регистра.

с первым - согласен
второе - биты пусть не читаются, главное, чтобы записывались! Остальные биты этого регистра читаются, и сохранятся при |=
Работало.
P.S. убедили... переделаю. Там состояние при чтении неопределенное, вдруг единицы выскочат? rolleyes.gif
Go to the top of the page
 
+Quote Post
Genadi Zawidowsk...
сообщение Nov 20 2013, 15:02
Сообщение #7


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

Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634



Цитата
неопределенное, вдруг единицы выскочат

На F107-м они и выскочили...
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 18th July 2025 - 12:51
Рейтинг@Mail.ru


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