[英]Send data with serial port
我想对滚动底座进行编程。 底座的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
也许我忘记了什么?
使用 serialPort1.Write(string) 可能更合适。
如果您使用 serialPort1.WriteLine(string) 它将在字符串后发送一个换行符,这可能是另一端设备所不期望的。
您正在写入控制台而不是串行端口。 尝试这个:
if (serialPort1.IsOpen)
{
string str = "!m 1 300";
serialPort1.Write(str);
}
您还应该了解重载并知道它使用的默认编码是 ASCII 编码。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.