F4引脚复用时,经常忘记加上这个复用语句
gpio_init_struct.Alternate = GPIO_AF2_TIM5; /* 复用为捕获TIM5的通道1 */
输入捕获初始化时,理解错误timx_chy_ic_handle.ICSelection = TIM_ICSELECTION_DIRECTTI; /* 理解错误,映射到TI1上 */
另外,巧妙利用下述两个对标志位处理的函数就可以不需要书写回调函数。
__HAL_TIM_GET_FLAG(__HANDLE__, __FLAG__);
__HAL_TIM_CLEAR_IT(&g_timx_npwm_chy_handle, TIM_IT_UPDATE);
如下:
/* 以下代码没有使用定时器HAL库共用处理函数来处理,而是直接通过判断中断标志位的方式 */
if (__HAL_TIM_GET_FLAG(&g_timx_npwm_chy_handle, TIM_FLAG_UPDATE) != RESET)
{
__HAL_TIM_CLEAR_IT(&g_timx_npwm_chy_handle, TIM_IT_UPDATE); /* 清除定时器溢出中断标志位 */
}