STM32Cube——配置PWM呼吸灯

硬件

STM32F103ZET6 正点原子开发板

软件

STM32CubeMx
MDK ARM V5

配置步骤

1、打开CubeMx新建工程File->NEW Project(可能会出现下面的弹窗直接点击Cancel,这是在下载最新的芯片类型但是会很慢,不如直接度娘搜索资源包安装来的快)选择对应的芯片类型,然后点击右上角的Stare Project
在这里插入图片描述
在这里插入图片描述
2、点击RCC,在High Speed Clock 选择Crystal/Ceramic Resonator
(HSE 高速时钟 LSE 低速时钟)
在这里插入图片描述
①表示使用单片机内部时钟源
②表示使用外部时钟源
在这里插入图片描述
我使用的开发板外部时钟是8MHz,配置后面时钟频率更具实际情况配置。F1系列SYSCLK(系统时钟)最高为72MHz,F4系列是168MHz。
在这里插入图片描述
3、配置时钟和时钟通道的模式,我的开发板LED灯对应的通道就是TIM3的CHANNEL2通道(要是不同合理变通);

在这里插入图片描述
在这里插入图片描述

①从模式
②触发源选择
③时钟来源 internal Clock 内部时钟 ETR2外部时钟触发输入
④通道1
⑤通道2
⑥通道3
⑦通道4

Prescaler(PSC-16 bits value ):设置预分频系数为72-1
CounterMode 设置计数模式
Counter Period(AutoReload Register)设置自动重装载值为500-1
PWM输出频率计算 72000000/72/500=2000hz,也就是2Khz

在这里插入图片描述
CKD:定时器分频
auto-reload preload 自动装载:定时器中断需要使能
CH Polarity通道极性高或者低 选择LOW 设置PWM的占空比参数时,数值越大电位越低。反之设置为High时数值越大电位就越大(这是我通过示波器测试的结论,有一定的巧合成分不是非真理
Pulse 设置占空比的值
output compare preload 输出比较预装载值
使能TIM3的NVIC中断优先级
在这里插入图片描述
4、工程建立
在这里插入图片描述
点击Code Generator勾选如图所示的选项
在这里插入图片描述

PWM相关函数

HAL_TIM_PWM_Start();//PWM启动函数
HAL_TIM_PWM_Stop();//PWM停止函数
__HAL_TIM_SET_COMPARE(&htim3, TIM_CHANNEL_2, dutyCycle);//设置占空比
//dutyCycle 为(整数)这是表示占空比多少的值

MDK 里要改的代码如下

在main.c添加
在这里插入图片描述

个人笔记,仅供参考!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嘉鑫的程序员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值