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

串行通信
EN

Stack Overflow用户
提问于 2009-11-20 12:41:07
回答 1查看 379关注 0票数 0

我有一个程序,它使用串口通信与一些硬件通信。没问题。然后,我在图片中添加了两个GSM Moden。在VB中,我用一个协议(8数据,0,1)向调制解调器打开COM端口,当调制解调器之间的通信打开并运行时,我关闭了端口,并在硬件上重新打开了一个新协议(7数据,偶数奇偶校验,2 stop)。几年前,硬件已经标准化到这个速度,所以我不能改变这个,而且大多数调制解调器都不支持7,e,2协议。

我想扩大对调制解调器的支持,当端口关闭时,许多调制解调器会中断联系。我不是在用硬件握手。

,所以这是我的问题。,在不关闭串口的情况下,我如何才能最好地改变协议之间的关系?

  • 有没有人知道如何在不改变任何硬件设置的情况下做到这一点?
  • 做一个虚拟串口?(如何?)
  • 想法?
EN

回答 1

Stack Overflow用户

发布于 2009-11-20 14:06:51

要真正设置串行连接的所有选项,您应该使用Win32 API通信功能。据我所知,您不需要关闭并重新打开端口来激活这些设置。will在设置它们之后就能工作了(如在这个例子中)。

您只需小心,如果您只想更改一两个设置,您就必须用相应的GetX函数预先填充您的结构,进行更改并调用SetX函数。

也许与前面的句子相反,但是不要依赖于first SetX调用的默认设置。我见过很多程序只是改变流行的设置(例如波特率、停止位等等)。但并不是罕见的(如XoffChar等)。如果您只是这样做,而另一个程序将更改这些设置,您就会开始怀疑为什么您的程序突然无法与您的串行设备进行通信,因为您使用的是另一个程序设置为串口的设置。

在我忘记之前,如果您喜欢在Win32中使用C# API函数,请看一看PInvoke.net

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

https://stackoverflow.com/questions/1770217

复制
相关文章

相似问题

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