heda969240 发表于 2023-6-19 14:47:34

PWM波形问题

PWM波开始有一个脉冲能取消吗?

zhp 发表于 2023-6-19 16:33:46

一般出现这种情况,很大可能是初始化不正确导致的
将你的代码贴出来,大家帮你看一下

heda969240 发表于 2023-6-19 17:20:02

PWMB_CCER1 = 0x00; //写 CCMRx 前必须先清零 CCxE 关闭通道
    PWMB_CCER2 = 0x00;
    PWMB_CCMR1 = 0x68; //通道模式配置
    PWMB_CCMR2 = 0x68;
    PWMB_CCMR3 = 0x68;
    PWMB_CCMR4 = 0x68;
    PWMB_CCER1 = 0x33; //配置通道输出使能和极性
    PWMB_CCER2 = 0x33;

    PWMB_ARRH = (u8)(PWM_PERIOD >> 8); //设置周期时间
    PWMB_ARRL = (u8)PWM_PERIOD;

    PWMB_ENO = 0x00;
    PWMB_ENO |= ENO5P; //使能输出
    PWMB_ENO |= ENO6P; //使能输出
    PWMB_ENO |= ENO7P; //使能输出
    PWMB_ENO |= ENO8P; //使能输出

    PWMB_PS = 0x00;    //高级 PWM 通道输出脚选择位
    PWMB_PS |= PWM5_1; //选择 PWM5_1 通道
    PWMB_PS |= PWM6_1; //选择 PWM6_1 通道
    PWMB_PS |= PWM7_1; //选择 PWM7_1 通道
    PWMB_PS |= PWM8_1; //选择 PWM8_1 通道

    PWMB_BKR = 0x80;   //使能主输出
    PWMB_CR1 |= 0x81;//ARR预装载,开始计时

    IE2 |= 0x80;   //IE2相关的中断位操作使能后,需要重新设置EUSB
    EA = 1;   //打开总中断
官方的程序

电子DIY小家 发表于 2023-6-19 17:43:24

heda969240 发表于 2023-6-19 17:20
PWMB_CCER1 = 0x00; //写 CCMRx 前必须先清零 CCxE 关闭通道
    PWMB_CCER2 = 0x00;
    PWMB_CCMR1 = 0x ...

是不是之前还有一个IO设置为输出模式的程序,那里输出高了吧

heda969240 发表于 2023-6-19 18:46:36

好的,谢谢!
页: [1]
查看完整版本: PWM波形问题