首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >串口通信

串口通信
EN

Stack Overflow用户
提问于 2009-12-30 18:53:38
回答 5查看 2.8K关注 0票数 2

我正在创建一个windows窗体,用于向串行端口发送数据或从串行端口接收数据。

首先:我将数据以字符串的形式发送到串口。

第二:我再次尝试读取字符串以测试传输是否成功,但收到空字符串

这是我的代码:

代码语言:javascript
复制
Try


Dim SerialPort1

As New SerialPort("Com1",9600, Parity.None, 8, StopBits.One)

SerialPort1.Open()

SerialPort1.DtrEnabled=True

SerialPort1.WriteLine("This is my test message ." )


' ================= Read from serial port

Label1.Text=SerialPort1.ReadExisting()    ' this returns empty string


 Catch ex As Exception 


MessageBox.Show(


"Error writing to serial port:" & ex.Message) 


Finally

SerialPort1.Close()


End Try

我需要问另一个问题:

是否需要将设备连接到串行端口才能成功发送/接收数据?

求求你,我需要紧急帮助

谢谢

EN

回答 5

Stack Overflow用户

发布于 2009-12-30 19:27:01

正如Heinzi已经提到的,如果你想查看数据,你需要一些数据。您发送的数据不会自动回显。

回答您的另一个问题:是的,您需要将另一个设备连接到您的串行端口,才能成功发送/接收数据。如果没有其他设备,还有什么意义呢?

对你来说幸运的是,你连接的“设备”可以像插头和一些电线一样简单。下面是一组用于构建所谓的环回插件的说明和图表:http://www.airborn.com.au/serial/rs232.html

这将允许您使用非常简单的硬件将您的输出回显到您的输入。如果你不喜欢焊接自己的插头,你可以使用所谓的接线盒或接线板。这里有一个例子:http://www.breakoutboxes.com/D-Series-9-Position-Breakout-Board_p_31.html

票数 3
EN

Stack Overflow用户

发布于 2009-12-30 18:55:55

ReadExisting返回您与之通信的设备发送的数据,而不是您发送的数据。

票数 1
EN

Stack Overflow用户

发布于 2009-12-31 00:33:11

您可以尝试使用com0com生成虚拟串行端口对,然后可以将其中一个虚拟端口重命名为通用名称,如"COM4“。您应该打开用于串行通信的其他软件,如超级终端,然后设置为打开该端口对中的剩余端口。

您可以尝试将com0com fist与两个超级终端一起使用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1979572

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档