问题标签 [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 回答
945 浏览

php - php 执行可执行文件(写入串行端口)并冻结

我有一个 php 脚本,它正在执行一个写入串行端口的可执行文件。但是,每次运行

它只是打开一个cmd窗口并冻结。

有人知道如何解决这个问题吗?或者是否有更简单的方法让 PHP 直接写入串口?(我已经尝试过这两个: http: //blogs.vinuthomas.com/2007/04/09/php-and-serial-ports/他们不适合我)

PS我在Windows XP

0 投票
4 回答
3345 浏览

delphi - 串口 WriteFile() 冻结

我有一个简单的应用程序,它应该每分钟向串行端口发送一个字节。但有时,出于某种奇怪的原因,它会在 WriteFile() 函数的某个位置冻结。sw 和 hw 流量控制均已关闭。我已经搜索了一些关于从另一个线程执行的挂起读取操作的内容,但我相信这不是问题,因为我的应用程序有单线程。此外,来自 CreateFile 的句柄看起来是有效的,因此该端口不应被任何其他应用程序使用。有人遭受过这种情况吗?

0 投票
4 回答
6081 浏览

events - 串行通信中的事件/中断

我想使用事件/中断从串行读取和写入。目前,我在一个while循环中使用它,它通过串行连续读写。我希望它仅在来自串行端口的内容时读取。如何在 C++ 中实现它?

这是我当前的代码:

0 投票
2 回答
4313 浏览

serial-port - 奇怪的随机数据从 Arduino 发送到处理

我正在尝试从光电管电阻器和我的 Arduino Decimila 读取数据,然后使用 Processing 实时绘制它。

应该很简单;但它对我来说有点像噩梦。

我在我的 Arduino 上运行的代码:

我在处理中运行的代码:

我已经分别测试了这两个代码,我知道它们可以工作。只有当我尝试让 Arduino 的输入进入处理时,问题才会开始。

当我在 Arduino 的“串行监视器”中查看数据时,我得到了一个看起来很有效的持续不断的数据流。

但是当我通过处理读取相同的数据时,我会得到一个随机值的重复模式。

哈普?

0 投票
4 回答
3107 浏览

c# - 串口和蓝屏

我编写了一些 C# 代码,通过在端口上发出命令并侦听回复来检查设备是否存在于任何 SerialPort 上。当我只是设置端口速度,打开端口,获取串行流并开始处理时,它的工作时间是 100%。但是,我们的一些设备以不同的速度工作,我正在尝试以不同的速度探测设备以自动协商连接并检测设备的存在。

当我在一个线程中完成所有这些操作时,没有任何问题。但是十速下的3s超时是每个串口30s,可能有几个。因此希望同时探测所有端口。

有时这有效。有时 Vista 蓝屏。当我使用线程同时探测所有端口时,它几乎总是蓝屏。当我强迫一切都在一个线程中运行时,它永远不会发生。

USB 串行 Prolific PL-2303 适配器与 x64 驱动程序一起使用。


@Vinko - 感谢您提供有关阅读小型转储的提示。

据我所知,问题的症结在于,通过从不同的线程启动新的异步 I/O 操作,可以为重叠 I/O 赋予全新的含义,从而在驱动程序内部引发竞争条件。由于驱动程序在内核模式下执行,BLAM!

结语

除了开始之外,不要在回调处理程序之外使用 BeginXxx,并且在调用 EndXxx 之前不要调用 BeginXxx,因为你会在内核模式下运行的驱动程序代码中引发竞争条件。

后记

我发现这也适用于套接字流。

0 投票
5 回答
46482 浏览

java - Windows 上的 Java 串行通信

我一直在寻找可以与 Windows/Win32 上的串行设备通信的 Java API,但我检查过的许多 API 要么适用于 Linux,要么过于过时,要么只是受到了不好的批评。

有人可以向我推荐一个他们已经尝试过或知道在 Windows XP 上易于实现的产品吗?

0 投票
6 回答
14624 浏览

java - Windows 上的 Java RS-232 通信

有谁知道用于在 WIN32 环境中控制 RS-232 设备的良好 Java API?我试过 RXTX 但他们不支持 RS232,只支持 RS-485。

0 投票
1 回答
1023 浏览

compact-framework - .Net Compact Framework - SerialPort 类中有什么方法可以将 RTS 控件设置为 TOGGLE?

我发现 .NET Framework 中的 SerialPort 类不允许将 rts 控件设置为 TOGGLE 的事实非常烦人。

有一个名为 RTSEnable 的属性可以让我直接控制 RTS 信号的状态,但是在 Compact Framework 应用程序中,没有太多的精度可以使其正常工作。

另一种解决方案是编写一个调用非托管 API 的类并通过 DCB 结构设置 rts 控件,但我不喜欢它,因为我使用了一些需要引用 SerialPort 实例的外部库。

你有什么别的想法吗?

谢谢 !

0 投票
9 回答
12914 浏览

c# - 与 u-blox gps 的 C# 串行通信

我有一个来自 u-blox.com 的 GPS,带有 USB 连接和驱动程序。驱动程序安装了一个虚拟 COM 端口,当您插入 USB 时会弹出该端口。使用超级终端,我可以观察来自 GPS 的数据流。

然后我要我程序里的数据,没那么容易...

我已经实现了一些使用 serialPort 类从 GPS 读取的方法,但没有成功。我之前用 C# 编写了几个串行设备读取器和写入器,但这一个阻止了我。

例如,simpleSerial中的简单代码不会给您任何东西,除非您拔下并重新插入 USB。

尝试使用 matlab 阅读它,效果很好,但是由于我需要 GPS 数据的程序的其余部分是在 c# 中,这并不能完全解决问题。

我可以绕过 serialPort 类中发生的一些高级 C# 事情吗?或者在读取 USB 串行端口时是否存在任何已知问题,我认为它就像我的 GPS 一样工作?

0 投票
6 回答
9651 浏览

c# - 如何捕获由于 USB 电缆拔出而消失的串行端口

我有 ac# winforms 程序,它打开了一个串行端口。当最终用户拔下 USB 电缆然后设备消失时,就会出现问题。在此之后程序将崩溃并想向微软报告错误。

有没有办法捕捉这个事件并优雅地关闭?