www.3112.net > VB.NET SEriAlPort1.READLinE与SEriAlPort1.READEx...

VB.NET SEriAlPort1.READLinE与SEriAlPort1.READEx...

看方法名就应该能猜出来了嘛~ ReadLine 只读一行,而 ReadExisting 读取现有的全部。 假如下位机上送了三行数据,ReadExisting会连回车一起全部返回给你。

用串口调试助手测试下对方是否返回了正确数据。 另外,最好用事件驱动来做,别用 Sleep。

请在 string message = serialPort1.ReadLine();这行下一个断点,查看 serialPort1 对象的值是多少

你代码的只有向外的发送,并没有向本机COM1口发送数据的过程吧。 你的串口线是否本机与另一个机器相连,如果这样的话,在另一台机器上打开串口并发送数据,本机再接收就OK了 如果想一台机器做实验的话,可以下载个虚拟串口,模拟2个COM口的链接。

serial port,即串行端口,现在大多数硬件设备均采用串口技术与计算机相连,因此串口的应用程序开发越来越普遍。例如,在计算机没有安装网卡的情况下,将本机上的一些信息数据 传输到另一台计算机上,那么利用串口通信就可以实现。运行本程序,...

就是一直等待,其实-1跟TimeOut.Infinite是等价的,代码中尽量用TimeOut.Infinite,可读性更强。 具体可参考MSDN: https://msdn.microsoft.com/zh-cn/library/system.threading.timeout.infinite.aspx

由于串口在不断的接收数据,DataReceived事件在不断的触发,所以数据处理放到委托里面,DataReceived只做数据接收,假如你把数据处理放在DataReceived事件中,可能会影响到数据的接收。 如果你对委托不太了解,可以查阅MSDN文档:http://msdn.mi...

/// /// 读取返回数据 /// /// private string Read() { //获得返回数据 string Return = ""; string ShowReturn = ""; //显示的命令 try { Thread.Sleep(100); int len = this.serialPort1.BytesToRead; if (len > 0) { byte[] data = new byte...

嗯,是的。

我设置断点逐步运行后,为什么不运行 void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e) 方法呢? private void button2_Click(object sender...

网站地图

All rights reserved Powered by www.3112.net

copyright ©right 2010-2021。
www.3112.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com