求助大佬
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驱动,不知道这样配置对不对,通过串口收发测试只有两个轮子可以转,但是两个轮子转速不同。求大佬帮忙!!!!
请参考STC官方的的例子
页:
[1]