stm32 HAL库 笔记———使用通用定时器输出pwm

首先配置RCC时钟,使用外部晶振
在这里插入图片描述
然后配置时钟树,我的是stm32f429 最高支持180MHZ,我使用的是TIM5,TIM5挂载在APB1总线上定时器频率为90MHZ在这里插入图片描述
启用内部时钟,选择通道输出PWM
在这里插入图片描述

通道模式分别是:
输入捕获模式
输出比较不输出模式
输出比较模式
PWM不输出模式
PWM输出模式
还有最下面的 Forced Output ,强制输出模式
在这里插入图片描述

分频配置
899+1分频,可根据需要修改
因为我的TIM5在APB1总线上,对应频率是90MHZ,那么分频后就是90MHZ/900=100KHZ;
模式可选向上/下计数,计数的频率就是PSC分频后的频率,
向上计数是从0到设定的数,我这是99999,
向下计数是从设定的是减到0
我这里是100KZH,

不使用内部时钟分组
最后启用自动重载
PWM输出频率=总线时钟/(分频因子+1)/(计数值+1)
在这里插入图片描述
Trigger Output (TRGO) Parameters
触发输出,这个我们不使用

PWM 通道配置
PWM模式,在同一计数方式下PWM1和PWM2输出波形互补

Pulse 空占比 先默认0
fast mode 不使用
CH Polanty 通道默认电平,可根据实际情况选择,
在这里插入图片描述

最后可选中断使能,也可不选
在这里插入图片描述
使用这个启用PWM 输出

HAL_StatusTypeDef HAL_TIM_PWM_Start(TIM_HandleTypeDef *htim, uint32_t Channel)

使用这个启用PWM 中断输出
HAL_StatusTypeDef HAL_TIM_PWM_Start_IT(TIM_HandleTypeDef *htim, uint32_t Channel)

可使用这个改变空占比
空占比=COMPARE/(计数值+1)

__HAL_TIM_SET_COMPARE(__HANDLE__, __CHANNEL__, __COMPARE__)

关于中断
·
在中断处理函数中PWM的回调函数:HAL_TIM_PWM_PulseFinishedCallback(htim);
会在一个PWM周期中执行4次
这4次会在执行分别在:
PWM 上升沿时
PWM 高电平一半时
PWM 下降沿时
PWM 低电平一半时
这4次均为CC1-CC4中断标志触发

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
STM32 HAL库中的STM32F407 TIM1是指STM32F407微控制器中的定时器1模块。定时器1是一个高级定时器,具有多种功能和配置选项。在HAL库中,可以使用HAL_TIM_PWM_Start函数来启动定时器1的PWM功能,通过调节占空比来控制LED的闪烁效果。可以使用__HAL_TIM_SetCompare函数来改变占空比的值。\[1\]\[3\] #### 引用[.reference_title] - *1* [STM32HAL库1:认识时钟树(STM32F407)](https://blog.csdn.net/weixin_52872520/article/details/129248942)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [STM32 HAL库-定时器中断](https://blog.csdn.net/m0_46577050/article/details/129036709)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [8.STM32F407之HAL库——PWM笔记](https://blog.csdn.net/qq_36528377/article/details/123746230)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值