Voltage Tracking, UART Control and Temperature-Based PWM Regulation Implementation for STM32
Periodic Voltage Sampling
ADC voltage sampling is triggered every 100ms via timer interrutp:
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{
if(htim->Instance == TIM1)
{
read_adc_voltage();
}
}
ADC configuration is omitted here, the sampling function witth averaging filtering is implemented as follows:
uint32_t adc_sample ...
Posted on Sat, 09 May 2026 08:16:01 +0000 by j.smith1981