我想为滚动基础编程。底座的TX,RX和GND连接使用rs232,但我的笔记本电脑上没有此端口。因此,我正在使用适配器USB-RS232。该连接之所以有效,是因为当我在Putty中输入不同的命令时,机器人会移动。 因此,在Visual Studio中,我用以下行创建一个串行端口:
SerialPort serialPort1 = new SerialPort("COM7", 115200, Parity.None, 8, StopBits.One);
之后,我将其连接:
try
{
serialPort1.Open();
}
catch (Exception ex)
{
MessageBox.Show("Please connect to the base");
}
因此打开了串行端口。最后,我发送缓冲区:
if (serialPort1.IsOpen)
{
string str = "!m 1 300";
serialPort1.Write(str);
System.Console.WriteLine(str);
}
但是它不起作用,机器人也不会移动。在Putty中,输入相同的命令:
!m 1 300
也许我忘记了什么?
答案 0 :(得分:0)
使用serialPort1.Write(string)可能更合适。
如果您使用serialPort1.WriteLine(string),它将在字符串之后发送换行符,另一端的设备可能不希望这样。
答案 1 :(得分:0)
您正在写入控制台,而不是串行端口。试试这个:
if (serialPort1.IsOpen)
{
string str = "!m 1 300";
serialPort1.Write(str);
}
您还应该注意overloads,并知道它使用的默认编码是ASCII编码。