我一直在用头撞墙,尝试了很多不同的方法来做到这一点,但似乎没有一个能正常工作。
注释掉的行是我试图用 C++ 重写的 C# 中的代码。任何帮助将非常感激。
void sendCommand(string command)
{
//Convert.ToString((8 * startBit) + "4" + command);
char buffer[50];
sprintf(buffer, "%d", (8 * startBit));
motor.printf("sendBuffer: %d\r\n", buffer);
startBit = 1 - startBit;
motor.printf("%s%c%s\n\r", buffer, "4", command);
return;
}
string strAcceleration(int acceleration)
{
//string accelerationHex = acceleration.ToString("X");
//accelerationHex = accelerationHex.PadLeft(8,'0');
char buffer[50];
sprintf(buffer, "%00000000X", acceleration);
motor.printf("acc: %s", buffer);
return buffer;
}
string strSpeed(int speed)
{
/*
string speedHex = null;
if (speed == 0) speedHex = "0";
else if (speed > 0) speedHex = speed.ToString("X");
else speedHex = 0xFFFFFFFF + speed.ToString("X");
if(speedHex.Length == 1) speedHex = "0000000" + speedHex;
if(speedHex.Length == 2) speedHex = "000000" + speedHex;
if(speedHex.Length == 3) speedHex = "00000" + speedHex;
return speedHex;
*/
}
谢谢
乔