STM32F411-NUCLEO DELAY
#include "stm32f4xx.h" int main(void) { // configure PA5 as output to drive the LED RCC->AHB1ENR |= 1; GPIOA->MODER &= ~0x00000C00; GPIOA->MODER |= 0x00000400; // configure TIM2 to wrap around at 1 Hz RCC->APB1ENR |= 1; /* enable TIM2 clock */ TIM2->PSC = 1600 - 1; /* divided by 1600 */ TIM2->ARR = 10000 - 1; /* divided by 10000 */ TIM2->CNT = 0; /* clear timer counter */ TIM2->CR1 = 1; /* enable TIM2 */ while (1) { while(!(TIM2->SR & 1)) {} /* wait until UIF set */ TIM2->SR &= ~1; /* clear UIF */ GPIOA->ODR ^= 0x00000020; /* toggle green LED */ } }
Add Comment