一、前言
STM32G4系列芯片一般没有标准库,本文为了方便前期采用cubeMX配置,目标:1、输出两路互补PWM波(100kHZ),输出占空比频率可调。
二、通用定时器配置
采用G473MCU,时钟最高频率设置170M,选择高级定时器TIMER1,T1_1、T1_3两个通道,外部晶振选择24M,SWD调试。
略去基础配置,TIMER1的频率选择170M
TIM1相关配置
参数设置(转自(35条消息) 电机学习笔记 pwm互补输出_IMXRT型Planck的博客-CSDN博客):
PWM模式1- 在向上计数时,一旦TIMx_CNT<TIMx_CCR1时通道1为有效电平,否则为无效电平;在向下计数时,一旦TIMx_CNT>TIMx_CCR1时通道1为无效电平(OC1REF=0),否则为有效电平(OC1REF=1)。
PWM模式2- 在向上计数时,一旦TIMx_CNT<TIMx_CCR1时通道1为无效电平,否则为有效电平;在向下计数时,一旦TIMx_CNT>TIMx_CCR1时通道1为有效电平,否则为无效电平。
APB2时钟线170M,分频系数0,ARR寄存器值为1699,CCR寄存器 。选择PWM模式1(向上计数),输出电平均为高有效。为了后续便于对比,选择T3_3通道相同配置 。
相关参考(35条消息) STM32-NUCLEO-F411RE—输出PWM及修改PWM频率与占空比_hal库改变pwm频率_自小吃多的博客-CSDN博客
(35条消息) STM32H743+CubeMX-定时器TIM发送非对称PWM(使用一个通道)_hal_timex_pwmn_start_Wallace Zhang的博客-CSDN博客
相关波形如下(PWM model 1):
减小CH1占空比,两脉冲保持互补,但明显此脉冲缺少应用场合,暂且不表。修改脉冲占空比、频率HAL函数如下
__HAL_TIM_SetCompare(&htim1, TIM_CHANNEL_1,a);
TIM1->CCR1=a;
__HAL_TIM_SET_PRESCALER(&htim1, b);
__HAL_TIM_SET_PRESCALER(&htim1, 1);
————————————————
版权声明:本文为CSDN博主「kunyihuang」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/kunyihuang/article/details/130944976
|