[STM32F3] stm32f303RE PWM输出波形变形的原因?

[复制链接]
1224|10
 楼主| laocuo1142 发表于 2024-3-15 12:40 | 显示全部楼层 |阅读模式
我使用STM32 nucleo开发板,使用tiM3 CH4输出PWM方波,发现波形变形,整个工程只有这个PWM输出的功能,其他外设都没开启。工程使用的是标准库。请大神支个招。
void TIM_Config(void)
{
    GPIO_InitTypeDef  GPIO_InitStructure;    TIM_TimeBaseInitTypeDef  TIM_TimeBaseInitStructure;    TIM_OCInitTypeDef  TIM_OCInitStructure;    TIM_BDTRInitTypeDef TIM_BDTRInitStructure;    RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOB,ENABLE);    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7;    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;//GPIO_Mode_AF    GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;    GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;    GPIO_Init(GPIOB, GPIO_InitStructure);    GPIO_PinAFConfig(GPIOB,GPIO_PinSource7,GPIO_AF_10);    RCC_APB1PeriphClockCmd(RCC_APB1ENR_TIM3EN,ENABLE);        TIM_TimeBaseInitStructure.TIM_Prescaler = 71;    TIM_TimeBaseInitStructure.TIM_CounterMode = TIM_CounterMode_Up;    TIM_TimeBaseInitStructure.TIM_Period = 499;    TIM_TimeBaseInitStructure.TIM_ClockDivision = TIM_CKD_DIV1 ;    TIM_TimeBaseInitStructure.TIM_RepetitionCounter = 0x00;    TIM_TimeBaseInit(TIM3, TIM_TimeBaseInitStructure);    TIM_OCStructInit( TIM_OCInitStructure);    TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;    TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;    TIM_OCInitStructure.TIM_OutputNState = TIM_OutputNState_Disable;    TIM_OCInitStructure.TIM_Pulse =250;    TIM_OCInitStructure.TIM_OCIdleState = TIM_OCIdleState_Reset;        TIM_OCInitStructure.TIM_OCNIdleState = TIM_OCIdleState_Set;    TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;    TIM_OCInitStructure.TIM_OCNPolarity = TIM_OCNPolarity_High;    TIM_OC4Init(TIM3, TIM_OCInitStructure);    TIM_Cmd(TIM3,ENABLE);    TIM_CtrlPWMOutputs(TIM3,ENABLE);}
光辉梦境 发表于 2024-4-20 10:14 | 显示全部楼层
PWM输出的波形可能会变形,如果时钟设置不正确。确保定时器的时钟源和分频系数设置正确,以确保PWM频率和占空比符合预期
淡漠安然 发表于 2024-4-20 13:00 | 显示全部楼层
定时器的工作模式、计数方向、自动重载寄存器等配置可能会影响PWM波形的正确性。
江河千里 发表于 2024-4-20 15:00 | 显示全部楼层
建议检查定时器的配置是否符合PWM输出的要求
冰春彩落下 发表于 2024-4-20 17:00 | 显示全部楼层
如果PWM输出引脚的GPIO配置不正确,可能会导致波形变形。确保PWM输出引脚的GPIO配置为复用功能,并且复用功能设置为定时器的PWM输出
远山寻你 发表于 2024-4-20 19:00 | 显示全部楼层
电源噪声可能会影响PWM输出的稳定性,导致波形变形。确保电源线干净稳定,可以考虑使用电源滤波器或者稳压器来改善电源质量
夜阑风雨 发表于 2024-4-20 21:00 | 显示全部楼层
PWM输出连接的负载可能会影响波形的稳定性,特别是在高负载情况下。确保负载电路对PWM输出的影响被合理考虑,并且输出电路能够提供足够的电流和稳定性
一秒落纱 发表于 2024-4-20 23:00 | 显示全部楼层
在软件中,PWM输出的逻辑控制和更新可能会导致波形变形。检查PWM输出的控制逻辑和更新时机,确保逻辑正确
三生万物 发表于 2024-4-21 02:00 | 显示全部楼层
波形不准确估计是扯的线比较长了吧
别乱了阵脚 发表于 2024-4-21 04:00 | 显示全部楼层
要是有干扰的话,也会波形不对的,或者有异常波形的
暖了夏天蓝了海 发表于 2024-4-21 10:00 | 显示全部楼层
建议用示波器抓一下波形,看看是什么样的,然后分析是为什么会这样,由什么引起的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1296

主题

6239

帖子

15

粉丝
快速回复 在线客服 返回列表 返回顶部