Saturday, June 20, 2026

STM32 Development Log 4: Heart beat LED

System clock setting:

RCC_OscInitStruct.PLL.PLLM = 4;

RCC_OscInitStruct.PLL.PLLN = 50;

RCC_OscInitStruct.PLL.PLLP = 2;

 

Timer duration set in tim.c

/* USER CODE END TIM13_Init 1 */

htim13.Instance = TIM13;

htim13.Init.Prescaler = 9999;

htim13.Init.CounterMode = TIM_COUNTERMODE_UP;

htim13.Init.Period = 9999;

htim13.Init.ClockDivision = TIM_CLOCKDIVISION_DIV4;

htim13.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;

Interrupt Frequency =
TIM13 Clock / ((Prescaler + 1) × (Period + 1))

 PF2 Toggle  code in main.c:

if(htim->Instance == TIM13)

{


if(heart_beat == 0)

{

heart_beat = 1 ;

HAL_GPIO_WritePin(GPIOF, GPIO_PIN_2, GPIO_PIN_SET);

}

else

{


heart_beat = 0 ;

HAL_GPIO_WritePin(GPIOF, GPIO_PIN_2, GPIO_PIN_RESET);

}



 

No comments:

Post a Comment