void setMotorSpeedM1(int16_t tspeed)
{
if(tspeed > 0)
{
digitalWrite(Motor1_Pin1, HIGH);
analogWrite(Motor1_Pin2, 0);
if (tspeed > 255) tspeed = 255;
analogWrite(Motor1_Pin3, tspeed); // motor speed (PWM pin)
} else if (tspeed < 0) {
digitalWrite(Motor1_Pin1, LOW);
analogWrite(Motor1_Pin2, -tspeed); // motor speed (PWM pin)
if (-tspeed > 255) tspeed = -255;
analogWrite(Motor1_Pin3, 0); // motor speed (PWM pin)
} else { // tspeed == 0 ; coast.
digitalWrite(Motor1_Pin3, LOW); // motor speed (PWM pin)
digitalWrite(Motor1_Pin2, LOW); // motor speed (PWM pin)
} // end of if...else... block.
}
免责声明:
以上内容除特别注明外均来源于网友提问,创作工场回答,未经许可,严谨转载。