关键词:STM32CUBEIDE、STM32F103VE、PA7复用定时器TIM3 通道CH2 输出PWM失败。
提示:这里简述项目相关背景:
基于HLA库开发的STM32F103VET6单片机的 PA7引脚复用为TIM3 CH2无法启用PWM的问题。
问题描述
调试硬件中,其他几路的PWM波均已调通并正常输出,唯独PA7复用的TIM3_CH2通道无法输出PWM。
驱动代码就不列了,都是比较好查到的资料。
原因分析:
PA7引脚复用的问题:
经过查找资料及代码分析,找到了PA7引脚无法输出PWM的原因。如下图所示HAL库的stm32f1xx_hal_gpio_ex.h文件所示,要使的PA7输出PWM,还需要调用下列对应的接口。
解决方案:
如上图所示,我的PA7引脚复用为TIM3-CH2,因此需要在TIM3初始化完成后调用一下:__HAL_AFIO_REMAP_TIM3_DISABLE() 这个接口,在启动PWM输出后,即可正常输出PWM。
注释是禁用这几个引脚对应通道的复用,深层次原因没有分析,但此情况案例比较少,记录下来帮助遇到此问题的工程师可以快速定位解决。