基于CubeMX(hal库)stm32中hrtim高分辨率定时器的基本使用(自存)

文章介绍了如何使用CubeMX配置STM32的HRTIM,以实现单/双通道PWM输出。主要步骤包括选择通道、配置TimerA~F,设置比较值和占空比,以及通过HAL库控制PWM的启停。代码示例展示了如何改变PWM的频率和占空比。
摘要由CSDN通过智能技术生成

基于CubeMX(hal库)stm32中hrtim高分辨率定时器的基本使用(自存)

一、CubeMX配置

1、选通道

单通道输出or双通道输出

在这里插入图片描述

2、Timer A~F配置

(Master Timer不用管)
在这里插入图片描述

比较值Compare
个人感觉跟CCR差不多的意思,注意不要大于上面的Period就行
在这里插入图片描述

设置上升沿和下降沿时间:
若想让上设Compare=CCR如图设置即可
即在计数到Compare1时拉低,计数溢出时拉高
所以上图输出频率10kHz占空比25%的互补PWM波
Set/Reset Sourcee Selection设置有几个源可以决定拉低拉高时间,有多个源还可设置优先级

在这里插入图片描述

下面的Output 2 Configuration我设置了互补输出直接不管
若是独立输出如上设置即可


博主仅学到这里,其他的设置默认都没有改
主要是为了输出更高频率的PWM所以很多高级功能都没有用上



二、keil代码

初始化中打开输出:

HAL_HRTIM_WaveformCounterStart(&hhrtim1, HRTIM_TIMERID_TIMER_A);
HAL_HRTIM_WaveformOutputStart(&hhrtim1, HRTIM_OUTPUT_TA1|HRTIM_OUTPUT_TA2);

改变初设的一些值:

hhrtim1.Instance->sTimerxRegs[0].PERxR = 50000;//通过修改重装载值PER,从而修改PWM的频率

hhrtim1.Instance->sTimerxRegs[0].CMP1xR = 1000;//通过修改比较值CMP,从而修改占空比

ps:sTimerxRegs对应A~F:

sTimerxRegs[0]---->TimerA
sTimerxRegs[1]---->TimerB
sTimerxRegs[2]---->TimerC
sTimerxRegs[3]---->TimerD
sTimerxRegs[4]---->TimerE

关闭PWM输出:

HAL_HRTIM_WaveformCountStop(&hhrtim1, HRTIM_TIMERID_TIMER_E);

如有错漏欢迎指正!

  • 10
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
STM32CubeMX是由STMicroelectronics开发的一款集成开发环境(IDE),用于快速生成STM32微控制器相关的初始化代码。它提供了用户友好的图形界面,支持文语言,使得开发人员可以轻松地配置和初始化STM32微控制器的各种外设,例如GPIO、USART、I2C等。STM32CubeMX还能够生成初始化代码模板,并支持导出至主流的IDE平台,如Keil、IAR等。 相对于STM32CubeMXSTM32F1的HAL(Hardware Abstraction Layer)库是一种更底层的API层,用于抽象硬件细节,为开发人员提供更直接、更灵活的访问STM32F1系列微控制器的各种外设。HAL库提供了一系列函数接口,方便用户进行底层硬件编程,例如GPIO的读写操作、USART的发送接收等。 STM32CubeMXSTM32F1的HAL库在开发过程都有各自的优点。STM32CubeMX提供了一个易于使用的图形化界面,使得微控制器初学者能够更加快速地进行外设配置,生成初始化代码,并支持文,方便使用国开发者。而HAL库提供了更灵活、更底层的硬件接口,允许开发者直接调用底层寄存器操作,满足对微控制器性能和资源要求更高的应用场景。 总之,STM32CubeMXSTM32F1的HAL库STM32微控制器开发的两个重要工具。对于初学者来说,可以先通过STM32CubeMX进行外设配置和生成初始化代码,然后使用HAL库进行更高级的编程。而对于有一定经验的开发者来说,可以直接使用HAL库进行底层硬件操作。无论是哪种方式,都能够帮助开发者更加快速、高效地进行STM32F1系列微控制器的开发工作。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值