编程的终点掉发 发表于 2023-8-29 10:14:58

求助大佬

void PWMA_Init(void)
{
        //1.时钟源选择默认22.1184mhz
        //2.选择时基单元
       
        PWMA_PSCRH = (u8)(PWM_PSCR>>8);   
        PWMA_PSCRL = (u8)(PWM_PSCR);
       
        PWMB_PSCRH = (u8)(PWM_PSCR>>8);   
        PWMB_PSCRL = (u8)(PWM_PSCR);
       
        PWMA_ARRH = (u8)(PWM_ARR>>8);
        PWMA_ARRL = (u8)(PWM_ARR);
       
        PWMB_ARRH = (u8)(PWM_ARR>>8);
        PWMB_ARRL = (u8)(PWM_ARR);
       
        PWMA_CCR1H = (u8)(PWM_CRR>>8);
        PWMA_CCR1L = (u8)(PWM_CRR);
       
        PWMB_CCR1H = (u8)(PWM_CRR>>8);
        PWMB_CCR1L = (u8)(PWM_CRR);
       
        //输入输出引脚配置
        PWMA_ENO = 0X00;
        PWMA_ENO |= 0X01;   //使能PWM1P通道输出
        PWMA_ENO |= 0X02;   //使能PWM1N通道输出
       
        PWMA_ENO |= 0X04;   //使能PWM2P通道输出
        PWMA_ENO |= 0X08;       //使能PWM2N通道输出
       
        PWMA_ENO |= 0X10;      //使能PWM3P通道输出
        PWMA_ENO |= 0X20;       //使能PWM3N通道输出
       
        PWMB_ENO = 0X00;
        PWMB_ENO |= 0X54;   //使能PWM1P通道输出
        PWMB_ENO |= 0X51;   //使能PWM1N通道输出
       
        PWMA_PS = 0X00;
        PWMA_PS |= 0X02;    //选择PWM1从P60引脚输出
        PWMA_PS |= 0X08;
        PWMA_PS |= 0X20;
       
        PWMB_PS = 0X00;
        PWMB_PS |= 0X02;
        PWMB_PS |= 0X08;

        //输入输出模式设置
        PWMA_CCER1 = 0X00;
        PWMA_CCMR1 = 0X68;    //pwm模式1
        PWMA_CCER1 = 0X05;    //开启输入捕获和输出比较通道
       
        PWMB_CCER1 = 0X00;
        PWMB_CCMR1 = 0X68;    //pwm模式1
        PWMB_CCER1 = 0X05;    //开启输入捕获和输出比较通道

//        PWMA_DTR = 175;       //死区延时

        PWMA_BKR = 0X80;      //使能主输出
       
        PWMB_BKR = 0X80;   //使能主输出
       
        PWMA_CR1 |= 0X01;   //        启动计数器
               
        PWMB_CR1 |= 0X01;   //        启动计数器
}
我现在用pwm控制电机,采用两个L298N驱动,不知道这样配置对不对,通过串口收发测试只有两个轮子可以转,但是两个轮子转速不同。求大佬帮忙!!!!

梁工 发表于 2023-8-30 11:21:58

请参考STC官方的的例子
页: [1]
查看完整版本: 求助大佬