找回密码
 立即注册
查看: 694|回复: 1

STC32G12K128输出PWM波形异常

[复制链接]

1

主题

0

回帖

19

积分

新手上路

积分
19
发表于 2023-6-14 09:26:05 | 显示全部楼层 |阅读模式


//========================================================================
//                              PWM初始化
//========================================================================
void PWM_config(void)
{

    HSPWMx_InitDefine PWMx_InitStructure;

    PWM_Duty.PWM3_Duty = PWM3_DUTY_INIT;                       //初始值500

    PWMx_InitStructure.PWM_EnoSelect = ENO3P;                  // 输出通道选择,   ENO1P,ENO1N,ENO2P,ENO2N,ENO3P,ENO3N,ENO4P,ENO4N / ENO5P,ENO6P,ENO7P,ENO8P
    PWMx_InitStructure.PWM_Period = 1000;                      // 周期时间,   0~65535
    PWMx_InitStructure.PWM_DeadTime = 0;                       // 死区发生器设置, 0~255
    PWMx_InitStructure.PWM_MainOutEnable = ENABLE;             // 主输出使能, ENABLE,DISABLE
    PWMx_InitStructure.PWM_CEN_Enable = ENABLE;                // 使能计数器, ENABLE,DISABLE
    HSPWM_Configuration(PWMA, &PWMx_InitStructure, &PWM_Duty); // 初始化PWM通用寄存器,  PWMA,PWMB
                                                               // HSPllClkConfig(MCLKSEL_XIRC, PLL_144M, 0);
    HSPllClkConfig(MCLKSEL_XIRC, PLL_144M, 0);                 // 系统时钟选择,PLL时钟选择,时钟分频系数

    // PWM3_USE_P14P15(); //默认引脚,输出波形正常
    // PWM3_USE_P24P25(); //切换引脚后,波形上升下降缓慢

    NVIC_PWM_Init(PWMA, DISABLE, Priority_0);
}



程序如上,仅初始化未作其他操作,用的官方的FreeRTOS,使用P1.4输出正常,P2.4输出如示波器所示。


STC32G12K128输出PWM波形异常-1.png
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:415
  • 最近打卡:2025-04-30 09:58:34
已绑定手机

39

主题

2006

回帖

6845

积分

论坛元老

积分
6845
发表于 2023-6-15 09:27:36 | 显示全部楼层
能正常输出信号说明设置没问题。
不同脚位输出信号状态不同,这种情况最好检查一下脚位外围电路的影响。

以下波形是在屠龙刀板子上P2.4口测量的,也是使用高速高级PWM输出脉冲,输出PWM频率更高都没有产生衰减:
1.png

回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-4 22:57 , Processed in 0.181819 second(s), 57 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表