Страница 1 из 1

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

Добавлено: Пн окт 28, 2013 17:18:04
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.

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

Добавлено: Пн окт 28, 2013 19:36:54
koyodza
Вроде бы всё правильно. Только наверное лучше будет вначале включить тактирование GPIOA, и только потом выполнять Remap
Полностью SWD отключать не приходилось, у меня обычно отключается только JTAG
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);
PA15 PB3 PB4 работают нормально.

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

Добавлено: Вт окт 29, 2013 14:39:07
Nipochomus
Заработало :-)

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

Добавлено: Вт окт 29, 2013 15:09:41
koyodza
В чём причина была?

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

Добавлено: Ср окт 30, 2013 16:00:33
Nipochomus
Странно, но не могу добиться повторной ошибки...
Откомпилировал -> прошил -> заработало :)