问题标签 [serial-port]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
5436 浏览

.net - .net 框架的良好串行端口类?

有没有人知道一个好的(希望是免费的)类来代替 .net SerialPort 类?它给我带来了问题,我需要一个稍微灵活一点的。

请参阅有关我的问题的其他线程,但基本上我需要在打开端口时禁止发出 IOCTL_SERIAL_SET_DTR 和 IOCTL_SERIAL_CLR_DTR 命令,因此我需要比 .net 框架提供的类更灵活的东西。

0 投票
2 回答
2906 浏览

c++ - 使用 CreateFile 打开一个套接字

我们有一些旧的串行代码,只需打开然后关闭它即可检查串行端口是否可用。现在我们正在向应用程序添加网络支持,我想通过提供 ip 地址作为字符串来重用该功能。

我知道我可以先使用 connect 然后关闭,但我想以最少的更改重用该功能。如果我能重用这个功能就更好了。如果不是,那么我将不得不编写代码来确定它是否是套接字。

我想知道通过 CreateFile 打开套接字的正确方法是什么?

0 投票
3 回答
5009 浏览

c++ - 重新连接设备后的 boost::asio::serial_port 读取

我对从 GPS 设备(USB 串行)读取的 boost::asio::serial_port 类有疑问。连接设备并从中读取工作正常,但是当我断开并重新连接设备时,read_some 不会从端口读取任何字节。

由于 boost 无法检测到串行端口已消失( is_open() 返回 true ),因此当我没有获取数据时,我会定期取消()、关闭()和打开( GPS_PORT )设备,重置端口选项在途中。但这也无济于事,输入缓冲区保持为空。

我是否遗漏了什么,或者做错了什么,或者这是 asio 中的错误?有没有标准的方法来检测端口已经消失?

0 投票
2 回答
34693 浏览

java - 使用Java从串口读取文件

我是 Java 初学者,我正在("FLASH").getbytes()这样写serialport

在我得到FLASH_OK回应后,我再次发送文件请求。之后我会得到响应,因为FILE_OK我已经读取了文件直到文件末尾。

我不知道如何做到这一点,所以请帮助我。

谢谢您的回复。

0 投票
3 回答
17246 浏览

java - 从Java中的串口读取文件

我是java技术的初学者,我必须从端口读取文件。首先,我将“FLASH”写入输出流,然后我会从目标设备获得“FLASH_OK”的响应,在获得 FLASH_OK 作为响应之后,我必须再次写入我想要的文件的名称,但问题是它没有写入输出流的文件名,下面是我的代码。请帮我。

0 投票
4 回答
565 浏览

networking - 串行通讯在 WinXP 中死机

一点历史:我们有一个应用程序,最初是在很多年前编写的(1998 年是 PVCS 的第一个日期,但该应用程序比它早 5 年,因为它最初是一个 DOS 程序)。此应用程序通过串行与硬件进行通信。当我们使用 Windows XP 时,我们开始收到应用程序在运行一小段时间后死机的报告。似乎串行通讯刚刚“死亡”,应用程序处于卡住状态。从这种情况中恢复的唯一方法是重新启动应用程序。

我能找到的关于这个问题的唯一信息显然是 Windows 消息系统会错过接收到的信息,缓冲区会填满,系统会卡住。这段信息被留在了一个旧的word文档中,但没有证据支持这一点。它还提到这仅在高波特率 (115200+) 下普遍存在。

解决方案是为客户提供USB->串行转换器以及硬件。

今天:我们正在开发一个新版本的硬件,它将在网络和串行端口上运行。因此,为了让我能够处理网络代码,减去我们使用VSCOM NetCom113设备的实际硬件。它还在用户(即:我的)机器上安装了一个虚拟通信端口。

现在我已经将网络代码与应用程序集成,看起来 NetCom 设备表现出与物理 commport 相同的行为。这是不可取的,因为我需要应用程序运行时间超过 ~30 秒。

谷歌发现我们遇到的零问题。

我想知道:

  • 有谁之前经历过这个吗?如果是这样,您做了什么来解决/解决问题?
  • 有没有人对文档的原始作者是否正确以及我可以做些什么来测试该理论有任何建议?

不幸的是,我无法发布代码,因为串行代码与系统的其余部分紧密耦合,但如果您对此有疑问,我可以回答有关它的问题。

更新:

  • 代码是使用 Win32 Comm 例程编写的 - 所以我使用的是 CreateFile、ReadFile。还有对 GetOverlappedResult 的明智调用。
  • 它本身并没有挂起,只是通讯停止了。您可以访问菜单,单击按钮,但没有任何东西可以与连接的硬件交互。使用realterm你可以看到没有数据进出。
  • 我认为对 windows 消息的引用是问题是 windows 内部的。数据已经到达,但内核错过了它,因此没有告诉系统的其余部分。
  • 不使用流量控制。
  • 编写一个“简单”的测试很困难,因为代码是紧密耦合的,底层协议非常复杂,需要大量工作。
0 投票
3 回答
81663 浏览

vba - 从 VBA 访问串行端口的最佳方法是什么?

从 VBA 访问串行端口的最佳方法是什么?

我需要我们的一些销售代表能够从 PowerPoint 中的操作按钮通过串行端口发送一个简单的字符串。我不常用 VBA,尤其是像这样的东西。通常我会把它变成某种应用程序,但我实际上并不认为这个想法是那么糟糕。这将是他们在投影仪上演示此设备并与其他销售人员和非技术人员交谈时的便捷工具。此外,这个销售人员对 VBA 或 PowerPoint 演示文稿进行小的修改也没有问题,但在重新编译 .NET 应用程序时就不行了。

我知道我们可以通过从动作演示文稿中运行的批处理文件来做到这一点,但这并不让我很高兴。我想我们可能可以访问一个 COM 对象并从那里运行,但我对在 VBA 中使用的最新和最好的库并不真正了解,而且快速了解如何轻松打开它也很不错,发送并关闭连接。

由于这将需要在多人的计算机上运行,​​因此如果它可以轻松地传输到其他机器上会很好。我应该可以说它必须在 Office 2007 和 Windows XP 上运行。不过,与其他任何东西的兼容性将是一个不错的奖励。

我应该如何处理这个?有什么好的提示或技巧吗?图书馆推荐?

0 投票
2 回答
2644 浏览

java - 不满意的链接:SolarisParallel using rxtx to replace java comm api in Windows XP

我正在尝试使用 rxtx 2.0 jars 和 dll 在 windows xp 中使用 java comm api,我将 RXTXcomm.jar 复制到 jre\ext 和 rxtxSerial.dll 和 rxtxParallel.dll 到 jre\bin

当我运行程序时,出现以下错误:

加载 SolarisSerial 时出错:java.lang.UnsatisfiedLinkError: no SolarisSerialParallel in java.library.path 捕获 java.lang.UnsatisfiedLinkError: com.sun.comm.SolarisDriver.readRegistrySerial(Ljava/util/Vector;Ljava/lang/String;)加载驱动程序 com.sun.comm.SolarisDriver

为什么它试图加载solaris驱动程序?提前致谢

0 投票
4 回答
1372 浏览

delphi - 用于 Delphi 开发的最佳 VM,带有并行端口

我看到许多人正在使用虚拟机进行 S/W 开发(不仅仅是 Delphi)来托管 IDE 和所有必需的文件。我已经使用 Microsoft Virtual PC 来调试我在各种操作系统上的应用程序问题,但在虚拟机“外部”几乎没有访问权限。我的应用程序使用 USB、串行和 - 关键 - 直接 I/O 写入硬件(通过 I/O 权限驱动程序)。我想让虚拟机看到所有这些(当然,一次只能运行一个虚拟机)。这可能吗?Virtual PC 与 VMWare 是否有偏好?

0 投票
9 回答
32185 浏览

javascript - 带有 RS-232 串行端口的 Javascript 接口

我目前正在从事一个涉及 4 端口 A/V 开关的项目。此开关可通过 RS-232 控制。

与交换机接口的计算机运行 Vista。我想创建一个侧边栏小工具,它有 4 个按钮 - 交换机上的每个端口 1 个。当用户按下按钮时,它会切换到该端口。

我做了一些谷歌搜索,似乎没有一种很好的方式来在 javascript 和 rs-232 之间进行接口。

有人对我有什么建议吗?

谢谢!