最后一课
CDC串口控制PWM(使用led灯模拟电机)
tmp_16 = atoi(UsbOutBuffer);
printf_usb("tmp_16: %d\r\n", tmp_16);
if (tmp_16 < 0)
{
// 反转
PWM4_Duty = -tmp_16;
}
else
{
// 正转
PWM4_Duty = tmp_16;
}
if (PWM4_Duty > PWM_RELOAD + 1)
{
PWM4_Duty = PWM_RELOAD + 1;
}
printf_usb("PWM4_Duty: %d\r\n", PWM4_Duty);
if (PWM4_Duty == 0)
{
// 停止
PWMA_DisablePWM4NOutput();
PWMA_DisablePWM4POutput();
P66 = 1;
P67 = 1;
}
else if (tmp_16 > 0)
{
// 正转
PWMA_EnablePWM4POutput();
PWMA_DisablePWM4NOutput();
PWMA_CC4PInverted(); // 开发板上led低电平导通
P67 = 1;
}
else if (tmp_16 < 0)
{
// 反转
PWMA_DisablePWM4POutput();
PWMA_EnablePWM4NOutput();
PWMA_CC4NInverted(); // 开发板上led低电平导通
P66 = 1;
}
memset(UsbOutBuffer, 0, OutNumber);