Освобождение ножек от функций JTAG/SWD

Ножки PB3 и PB4 микроконтроллера STM32F103 и аналогичных моделей используются для порта отладки JTAG/SWD.

Чтобы освободить их для использования в качестве ввода-вывода, необходимо отключить JTAG и SWD отладочные порты с помощью специального регистра AFIO_MAPR. Перед этим необходимо активировать (тактировать) этот регистр следующим образом.

(* тактируем AFIO *)
SYSTEM.GET(MCU.RCCAPB2ENR, x);
SYSTEM.PUT(MCU.RCCAPB2ENR, x + {0});
(* освобождаем B3 & B4 *)
SYSTEM.GET(MCU.AFIOMAPR, x);
SYSTEM.PUT(MCU.AFIOMAPR, x + {26} - {24,25})

После этого ножки PB3 и PB4 возможно сконфиругировать как стандартные порты ввода-вывода GPIO:

PinCfg.Configure(PinCfg.B, 3, PinCfg.outputPushPull2MHz);
PinCfg.Configure(PinCfg.B, 4, PinCfg.outputPushPull2MHz);

где PinCfg := MicroSTM32F10xPinCfg и MCU := MicroSTM32F10xxD.