|
完整源码下载: https://github.com/simonliu009/STM32CubeMX-PWM-Output 软件: STM32CubeMX V4.25.0 System Workbench V2.4 固件库版本: STM32Cube FW_F1 V1.6.1 硬件: OneNet 麒麟座V2.3 在STM32CubeMX中新建项目,选择正确的MCU型号
首先设置RCC和SYS,如下图
然后根据板子实际情况设置时钟(麒麟座外部晶振是12M,STM32F103x的最高主频是72M),如下图
设置PC7 管脚为TIM3_CH2, 即定时器TIM3的Channel2
然后设置TIM3的Channel2为PWM Generation CH2
我们知道TIM3是挂在APB1总线上的,看时钟树我们知道APB1总线的Timer频率是72MHz。
配置TIM3参数,预分频系数设置为72-1, 自动重载值设置为1000-1,那么PWM频率为72,000,000/72/1000=1000Hz,即1KHz。由于LED是低电平点亮,所以我们把极性设置为low。
Project - setting ,ToolChain/IDE选择 SW4STM32
勾选这里
保存以后,点击任务栏的生成代码图标
生成完毕以后在弹出的对话框点击"Open Project", System Workbench自动打开Eclipse并导入和打开了项目。 在main.c中,先定义一个变量存储我们设置的占空比
然后任务栏上点击Run图,当然会报错的,所以需要右键点击 项目名Run.cfg ,给它改个名字,
然后右键点击项目树里面的项目名称,选择“Propeties”,然后在Run/Debug Settings-选择项目名-Edit-Main-C/C++Application那里点击“Search Project”,然后选择出现的默认的elf文件:
然后在Debugger-User Defined-Browse 那里选择你自己改名的配置文件:
然后右键点击那个新的cfg文件,选择"Open With - Text Editor", 进行如下更改: source [find interface/stlink.cfg] 更改为 source [find interface/stlink-v2.cfg] reset_config srst_only srst_nogate connect_assert_srst 这一行改为 reset_config none 然后再Run一下,就可以了。 程序实现了呼吸灯效果。 注意 TIM3->CCR2 = dutyCycle和__HAL_TIM_SET_COMPARE(&htim3, TIM_CHANNEL_2, dutyCycle); 是等效的。 |
【STM32U3评测】使用INS5699 RTC模组
【 逢7发帖赢大礼】1、利用CubeMX生成正点原子H7R7开发板的STM32CubeIDE工程
CubeMX生成CubeIDE工程代码乱码
【逢7发帖赢大礼】STM32开发之指纹识别!
【逢7发帖赢大礼】STM32开发之环境空气质量监测
【逢7发帖赢大礼】STM32开发之人体实时运动信息监测!
【逢7发帖赢大礼】全网最简单的Arduino_STM32开发环境搭建教程!
【STM32U3评测】低功耗模式功耗测量
【STM32N6570-DK评测】3.CubeMX关于DCMIPP和CSI的BUG整理及摄像头使用
【STM32U3评测】并不优雅的点亮WS2812
微信公众号
手机版