繁体   English   中英

用串口发送数据

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM