2012-11-30 92 views
0

好让我给你的软件和应用程序的细节,我使用:循环通过VB.NET串行端口(COM端口)和检测所使用的设备的正确端口

  • 的Windows 7专业版
  • 微软的Visual Studio 2010最终
  • VB.NET
  • .NET 4.0框架

我的设备是一个简单的数据传输装置,获取由用户像,姓名,年龄,性别输入的数据,然后将其传送到PC软件。

我已经有在C# PC软件的源代码,我是一个VB的家伙。我已经通过互联网上的许多教程学习串口通信,但我想也许我无法获得逻辑,或者这可能不适合我的项目。所以我需要你们的帮助。

我已经搜索互联网上一番,发现这解释,我如何能够准确地与串行端口进行通信的资源很少,但这些都不是为我工作:

  1. COM port made simple with VB.NET
  2. Serial Port Communication in VB.NET
  3. Serial Port Interfacing with VB.net 2010
  4. Serial COM Port Communication

以前的软件用于扫描所有可用的IOPORTS并评估来自串行端口的传入数据。最后,它根据这些数据检测设备。

软件设置为BaudRate = 19200DataBits = 8StopBits = StopBits.OneEncoding = Encoding.GetEncoding(1252)DataReceived += new SerialDataReceivedEventHandler(portDataReceived)

与教程

但是我理解这里指定的术语,但如何准确地与设备进行通信,并检查哪些端口是正确的仍然是一个问题。

所以我的理解是必需的,我是:

  1. 遍历所有可用的通信端口
  2. 接收的数据由他们发送
  3. 然后分析这些数据和与之相匹配的标准数据的源代码(提供给我)
  4. 如果识别出正确的端口,则开始从中接收数据。

我需要的是你的人上需要什么资源,我一直在寻找和阅读很长一段时间,并可能无法获得正是我要找的洞察力。也许我不知道逻辑和主题,所以如果正确的资源是可见的,我仍然无视它。它只是我是串口通信的新手。

另外,也许还有很多其他的问题,你可能需要我从我身边帮助我解决这个问题,我还没有制作出你。所以请让我知道你需要从我那里得到的所有信息,如果可以的话,我会尽力让你知道。

EDIT-1

我已经使用了Port Monitoring Software这给了我这个原始数据,并激动我...

enter image description here

+0

如果您可以让用户指定设备所连接的端口,这将非常容易。否则,您需要依次打开每个端口,等待数据(或发送请求数据的消息然后等待),分析它等。 –

+0

从您的屏幕截图看,它看起来像设备正在使用一些二进制协议分类。您需要获取此协议的规格才能使用此设备。 –

+0

@JonB好的,但从哪里我可以得到这个协议?我是否需要连接设备的制造商?或者因为我有C#中正在运行的软件的源代码,是否有可能从那里获取有关协议的信息? –

回答

3

你提出什么(打开每个端口,并试图沟通)正是你需要做的。

有没有这样做的标准方式。这取决于设备。没有人知道如何在不知道用于与设备通信的协议的情况下如何执行此操作。串口没有什么特别之处......它只是发送和接收数据。协议的实施取决于你。

+0

当您说协议,那么我究竟需要知道什么?是否需要任何种类的设备知识? –

+0

@GoldenHeat,是的,你需要知道设备的协议。数据发送和接收的格式是什么。 – Brad

+0

好吧,我可以理解也许是设备正在传输的数据类型,因为我使用了一个监视软件,它显示了我....在编辑1' –