hd44780 0 19 ноября, 2013 Опубликовано 19 ноября, 2013 · Жалоба Собственно вопрос в теме. При сбросе они примаплены к 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? Спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VDLab 0 19 ноября, 2013 Опубликовано 19 ноября, 2013 · Жалоба Не знаю как на вашем птичьем а напрямую для PB.4 вроде так: GPIOB->MODER |= 0x100; GPIOB->OTYPER &= 0xFFEF; Ну, там еще со скоростью (GPIOB_OSPEEDR) надо определиться, а то вы не указали как быстро ими махать надо Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 19 ноября, 2013 Опубликовано 19 ноября, 2013 (изменено) · Жалоба Не знаю как на вашем птичьем а напрямую для PB.4 вроде так: GPIOB->MODER |= 0x100; GPIOB->OTYPER &= 0xFFEF; Ну, там еще со скоростью (GPIOB_OSPEEDR) надо определиться, а то вы не указали как быстро ими махать надо Старое содержимое регистров может помешать, как Вы думаете? GPIOB->MODER = (GPIOB->MODER & ~ GPIO_MODER_MODER4) | (GPIO_MODER_MODER4_0 * 1); hd44780, чего же в исходники моего проекта не заглядываете? Там уже и под STM32F4 есть поддержка. Изменено 19 ноября, 2013 пользователем Genadi Zawidowski Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 20 ноября, 2013 Опубликовано 20 ноября, 2013 · Жалоба Посмотрите сюда (это, правда, от 103-го): AFIO->MAPR |= 0x02000000; // JTAG-DP Disabled and SW-DP Enabled // AFIO->MAPR |= 0x01000000; // Full SWJ (JTAG-DP + SW-DP) but without NJTRST Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 20 ноября, 2013 Опубликовано 20 ноября, 2013 (изменено) · Жалоба Посмотрите сюда (это, правда, от 103-го): во-первых, на F4 не поможет, во-вторых, в коде ошибка. Биты регистра MAPR, отвечающие за режим JTAG/SWD, не читаются из этого регистра. Изменено 20 ноября, 2013 пользователем Genadi Zawidowski Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 20 ноября, 2013 Опубликовано 20 ноября, 2013 · Жалоба во-первых, на F4 не поможет, во-вторых, в коде ошибка. Биты регистра MAPR, отвечающие за режим JTAG/SWD, не читаются из этого регистра. с первым - согласен второе - биты пусть не читаются, главное, чтобы записывались! Остальные биты этого регистра читаются, и сохранятся при |= Работало. P.S. убедили... переделаю. Там состояние при чтении неопределенное, вдруг единицы выскочат? :rolleyes: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 20 ноября, 2013 Опубликовано 20 ноября, 2013 · Жалоба неопределенное, вдруг единицы выскочат На F107-м они и выскочили... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться