STM32 отключение SWD и JTAG (StdPeriph Driver)

Кто любит RISC в жизни, заходим, не стесняемся.
Ответить
Первый раз сказал Мяу!
Сообщения: 33
Зарегистрирован: Вс дек 20, 2009 01:06:21

Сообщение Nipochomus »

Здравствуйте! Сразу к делу!
Так получилось, что на изготовленной плате вывод РА13 контроллера SТM32f105VC должен использоваться как порт ввода-вывода. Проблема в том, что по умолчанию на нем висит JTAG и/или SWD, Как отключить данный интерфейс от ноги и настроить порт на ввода-вывода?

RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);
GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE);
GPIO_InitTypeDef GPIO_InitStructure;

//Настройка порта A
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12|GPIO_Pin_13; //задаем номер вывода
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; // выход пушпулл
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
GPIO_Init(GPIOA, &GPIO_InitStructure) ; //вызов функции инициализации

Компилятор ошибок не выдает, на железе всё работает, кроме PA13. Прошиваю через bootloader.
Реклама
Собутыльник Кота
Аватара пользователя
Сообщения: 2623
Зарегистрирован: Вс июл 17, 2011 11:51:52

Сообщение koyodza »

Вроде бы всё правильно. Только наверное лучше будет вначале включить тактирование GPIOA, и только потом выполнять Remap
Полностью SWD отключать не приходилось, у меня обычно отключается только JTAG
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);
PA15 PB3 PB4 работают нормально.
Контактная информация:
Реклама
Первый раз сказал Мяу!
Сообщения: 33
Зарегистрирован: Вс дек 20, 2009 01:06:21

Сообщение Nipochomus »

Заработало :-)
Собутыльник Кота
Аватара пользователя
Сообщения: 2623
Зарегистрирован: Вс июл 17, 2011 11:51:52

Сообщение koyodza »

В чём причина была?
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Первый раз сказал Мяу!
Сообщения: 33
Зарегистрирован: Вс дек 20, 2009 01:06:21

Сообщение Nipochomus »

Странно, но не могу добиться повторной ошибки...
Откомпилировал -> прошил -> заработало :)
Реклама
Ответить

Вернуться в «ARM»