Mam problem posiadam płytkę NUCLEO z procesorem STM32F103RBT6. Nie mogę dać sobie rady z zamiganiem diodami na pinach PB3 i PB4. Dowiedziałem się, że jest spowodowane używaniem tych linii przez interfejs JTAG. Zgodnie z notą katalogową próbowałem wyłączyć ten interfejs. Dioda na PB3 zaczęła działać, ale dioda na PB4 nadal jest martwa, czy ma może ktoś jakiś pomysł co jest nie tak ?
Załączam kod:
Kod: Zaznacz cały
#include <STM32F1xx.h>
int main(void)
{
RCC-> APB2ENR = RCC_APB2ENR_IOPBEN;
RCC->APB2ENR |= RCC_APB2ENR_AFIOEN;
AFIO->MAPR |= (0b010 << 24);
GPIOB->CRL |= GPIO_CRL_MODE3_1;
GPIOB->CRL &= ~GPIO_CRL_CNF3_0;
GPIOB->CRL |= GPIO_CRL_MODE4_1;
GPIOB->CRL &= ~GPIO_CRL_CNF4_0;
GPIOB->CRL |= GPIO_CRL_MODE5_1;
GPIOB->CRL &= ~GPIO_CRL_CNF5_0;
volatile uint64_t delay;
while(1)
{
GPIOB->ODR |= GPIO_ODR_ODR3;
GPIOB->ODR |= GPIO_ODR_ODR4;
GPIOB->ODR |= GPIO_ODR_ODR5;
for(delay = 10000; delay; delay--){};
GPIOB->ODR &= ~GPIO_ODR_ODR3;
GPIOB->ODR &= ~GPIO_ODR_ODR4;
GPIOB->ODR &= ~GPIO_ODR_ODR5;
for(delay = 10000; delay; delay--){};
}
}
Pozdrawiam