STM32
登录
直播中
jefljel
9年用户
1127经验值
擅长:20762
私信
关注
[问答]
STM32Cube如何配置PWM呼吸灯?
开启该帖子的消息推送
stm32cubemx
STM32
Cube如何配置PWM呼吸灯?
回帖
(1)
王侃
2021-11-23 11:01:22
硬件
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添加
个人笔记,仅供参考!
硬件
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添加
个人笔记,仅供参考!
举报
更多回帖
rotate(-90deg);
回复
相关问答
stm32cubemx
STM32Cube
怎么操作?
2022-02-11
845
如何使用
STM32Cube
去对uart进行
配置
呢
2021-12-01
964
如何对
STM32
的
PWM
通道进行
配置
呢
2021-11-08
2493
请问
stm32cube
怎么
配置
和添加应用程序?
2020-11-17
1710
怎样去使用
STM32Cube
软件
2021-10-08
1765
什么是
STM32Cube
生态系统?
2021-09-29
1441
STM32
PWM
是如何去控制
呼吸
灯
的程序呢
2021-11-26
1707
stm32cube
不支持汉字目录
2018-09-26
3573
请问入门时选择hal库还是
stm32cube
学习?
2019-04-18
6471
如何使用
STM32Cube
MX快速上手
STM32
CAN协议
配置
?
2022-02-07
995
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
英国威廉希尔公司网站
william hill官网 版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分