MCU:STM32F103C8T6
IDE: MDK-ARM V5 +STM32CubeMX5.2.0

一、打开Cube,建立工程

图片:在这里插入图片描述
点击ACCESS project from MCU
然后选择芯片类型(我这里选的是F103C8T6)
图片:在这里插入图片描述

二、系统配置

在 Pinout&Configuration—System Core中:
设置时钟RCCHSE(外部高速时钟)为晶振模式:
Crystal/ceramic Resonator在这里插入图片描述
设置系统SYSDebugSerial Wire(SWD调试)在这里插入图片描述

三、配置PWM

在 Pinout&Configuration—Timers中:
打开TIM3,在TIM3 Mode and Configuration中设置CH1,CH2,CH3,CH4的模式为PWM输出模式:在这里插入图片描述
(我这里是TIM3输出四路PWM)
配置预分频系数
在Configuration中设置预分频系数为72-1,自动重装值为500-1,则PWM的输出频率为72000000/72/500=2000Hz。根据需要配置PWM有效极性,我这里设置为High:在这里插入图片描述

四、在 Clock Configuration中:

配置时钟为72 Mhz。
在这里插入图片描述

五、工程输出配置

在这里插入图片描述
Tips:最好把Linker Settings中的Minimum Heap Size设置为0x600。
在这里插入图片描述
最后点击GENERATE CODE代码就生成了:
在这里插入图片描述
至此,一个工程就创建完了。

六、代码部分处理

HAL库的PWM控制函数

HAL_TIM_PWM_Start//PWM启动函数
HAL_TIM_PWM_Stop//PWM停止函数
_HAL_TIM_SET_COMPARE//占空比
_HAL_TIM_SET_AUTORELOAD//周期

注意

TIM3->CCR2 = dutyCycle

__HAL_TIM_SET_COMPARE(&htim3, TIM_CHANNEL_2, dutyCycle);
作用相同

注意!!!一定在主函数中加入PWM开启函数
在这里插入图片描述

到此,输出正常在这里插入图片描述

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐