there are serveral discrepancies in stm32_tim.c
1. There are two occurrences of function call "gpt_lld_serve_interrupt" with two different
function signatures.
Code: Select all
#if STM32_GPT_USE_TIM2
gpt_lld_serve_interrupt(&GPTD2);
#endif
B)
Code: Select all
#if STM32_PWM_USE_TIM2
gpt_lld_serve_interrupt(&PWMD2, sr);
#endif
I think that the second interrupt serve routine is wrong. That has to be pwm_lld_serve_interrupt.
2. Call to the function "icu_lld_serve_interrupt" is as follows (2 parameters):
Code: Select all
#if STM32_ICU_USE_TIM2
icu_lld_serve_interrupt(&ICUD2, sr);
#endif
but the function is defined as
Code: Select all
void icu_lld_serve_interrupt(ICUDriver *icup);
3.
Code: Select all
#if STM32_GPT_USE_TIM2
st_lld_serve_interrupt();
#endif
This function is not defined at all.