|
完整源码下载:1 o' s1 i6 ~% W2 e9 q0 _ https://github.com/simonliu009/STM32CubeMX-PWM-Output6 y! ^1 w) r7 M5 x 2 ]9 S3 ? Y+ W' s% | A, y 软件: STM32CubeMX V4.25.0 ! L1 u$ Z; U" s/ r0 D System Workbench V2.4% }6 H" E- e H: }/ A1 t* P& q$ U" T0 R $ w2 Z8 ~" f7 I! A8 Z% u 固件库版本:9 w- Q' M" E+ |! B* z- i STM32Cube FW_F1 V1.6.14 d( j% C0 f; i* p4 [ j% {( ~4 d2 c7 g5 @. { F% l 硬件: OneNet 麒麟座V2.3 ' d1 i" A' O* F; ^, n2 U % u$ c0 A) r2 J( |1 c 在STM32CubeMX中新建项目,选择正确的MCU型号 d: m* o+ B* w3 |
首先设置RCC和SYS,如下图
然后根据板子实际情况设置时钟(麒麟座外部晶振是12M,STM32F103x的最高主频是72M),如下图/ }' p: Q( A2 D; w
设置PC7 管脚为TIM3_CH2, 即定时器TIM3的Channel2 C2 E# x" c8 u7 Z- g {
然后设置TIM3的Channel2为PWM Generation CH2. P: \$ d( U1 z) `, z
我们知道TIM3是挂在APB1总线上的,看时钟树我们知道APB1总线的Timer频率是72MHz。+ Y1 {0 a/ I. A) m; A3 U
配置TIM3参数,预分频系数设置为72-1, 自动重载值设置为1000-1,那么PWM频率为72,000,000/72/1000=1000Hz,即1KHz。由于LED是低电平点亮,所以我们把极性设置为low。, z9 y# Q9 v* d: Q/ a
Project - setting ,ToolChain/IDE选择 SW4STM323 ^4 a, s, I) w0 |( ?, d9 L
勾选这里
保存以后,点击任务栏的生成代码图标
生成完毕以后在弹出的对话框点击"Open Project", System Workbench自动打开Eclipse并导入和打开了项目。 在main.c中,先定义一个变量存储我们设置的占空比" Y$ J" I' @+ G. l. G3 |# k
然后任务栏上点击Run图,当然会报错的,所以需要右键点击 项目名Run.cfg ,给它改个名字,
然后右键点击项目树里面的项目名称,选择“Propeties”,然后在Run/Debug Settings-选择项目名-Edit-Main-C/C++Application那里点击“Search Project”,然后选择出现的默认的elf文件:
然后在Debugger-User Defined-Browse 那里选择你自己改名的配置文件:9 j/ y+ T8 _! y K
然后右键点击那个新的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 ( J# D# [' ?! j( B4 r5 a5 Q ! P* B. H2 V! e0 n; ^% S 然后再Run一下,就可以了。 程序实现了呼吸灯效果。 / s9 S$ X5 \/ P+ f" F J- R 注意 + O) |5 X. U! ?" C9 [) ^ TIM3->CCR2 = dutyCycle和__HAL_TIM_SET_COMPARE(&htim3, TIM_CHANNEL_2, dutyCycle); L1 ]# S$ Y R! F: X " `1 }* S4 d0 t" C3 E' t 是等效的。! @! B: V6 Y" Y* _/ G9 Z: o # N' Q. I' h4 D o6 P- v- A$ p# g. v" H; z: P |
【STM32H5 评测】ADC 电压表
【STM32H5 评测】基础硬件加密与随机数性能 - STM32H5E5实测硬件AES加解密、HASH运算、TRNG真随机数输出速率与稳定性
【STM32H5 评测】NUCLEO-H5E5ZJ 使用 TrustZone 安全分区系统实践测试
【STM32H5 评测】CPU核心性能 - STM32H5E5跑 RTOS,观察任务切换速度、中断响应快慢
【STM32H5 评测】介绍、环境搭建、工程测试
#双节活动 1.在CubeMX中引用touchGFX出现的问题与解决
如何将STM32CubeMX生成的CMake工程导入STM32CubeIDE
【 逢7发帖赢大礼】1、利用CubeMX生成正点原子H7R7开发板的STM32CubeIDE工程
STM32CubeCLT 1.22.0新版本发布
【下载问题解决】关于ST官网下载软件问题解决
微信公众号
手机版