问题标签 [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.
winapi - 发送二进制到串口
将串行字符串字符发送到串行端口。我需要调用 WriteFile(handle, "A", strlen("A"), ...)
但是,如果我想指定并发送一个十六进制或二进制数怎么办?例如,我想发送 WriteFile(handle, 0x41, sizeOf(0x41), ...) ?
有没有允许我这样做的功能?
winforms - 调试 .NET winform 时从 SerialPort 引起 ObjectDisposedException 的原因是什么?
Vista SP1 Visual Studio 2008 SP1 .NET 3.5 SP1 C#
我有一个我正在玩的 winforms 应用程序,它使用 SerialPort 对象作为私有变量。当应用程序被编译和执行时,它工作得很好。它也可以在没有任何断点的调试模式下运行。90% 的情况下,当我在断点处停止并尝试单步执行代码时,我会得到一个“出现未处理的异常”对话框,其中包含以下详细信息:
System.ObjectDisposedException 未处理 Message="Safe handle has been closed" Source="mscorlib" ObjectName="" StackTrace: at Microsoft.Win32.Win32Native.SetEvent(SafeWaitHandle handle) at System.Threading.EventWaitHandle.Set() at System。 IO.Ports.SerialStream.AsyncFSCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* pOverlapped) 在 System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* pOVERLAP) InnerException:
令人沮丧的是,我不必跳过与串行相关的代码!我只需要对端口做点什么。所以我可能会读取一个字符串,操作该字符串,将两个数字相加,无论如何,然后 BANG。
同样,在不调试时,或者在没有任何断点的情况下调试时,这工作得很好。似乎有一些关于在断点处停止的东西,这使得 CLR 在不同的线程上处理 SerialStream。
网上有很多关于更新 USB 设备导致此问题的讨论。但我使用的是 COM1 上的内置主板端口。
我认为我在 .NET 2.0 中没有这个问题,所以我可能不得不回到那个问题......
在发布代码之前,我需要稍微简化一下应用程序——但是之前有没有人在调试器中看到过这样的行为?
非常感谢!
java - 如何向 javax.comm 添加“驱动程序”?Java中的串口编程
我正在尝试在我的 PC 上使用带有 javax.comm 类的 RS-232 串行端口。我是那个 API 的新手,所以首先我浏览了文档,我发现你应该做的第一件事是“列出”类 CommPortListener 中的所有端口并选择其中一个。
那工作得很好!问题是,现在,我的端口不见了。它列出了我的计算机上不存在的 /dev/ttyS0 和 /dev/ttyS1 端口。我的端口(我已经多次使用它们)是 /dev/ttySNX0 和 /dev/ttySNX1。
再次上网时,我发现我应该做一些事情,比如将我的卡的驱动程序“注册”或“加载”到 API 系统上,这些事情可以在以前的版本中完成,但现在不行。此外,我尝试在 Windows 下执行此操作,他们为我提供了 API 的“通用”版本,需要一些 RXTX 应用程序,这开始击败我。
我会感谢任何建议,文档链接......一些东西......允许我通过Java使用我的串行端口,这最终是我的目标......
谢谢各位!!!!
windows - 如何在 Windows 中获取 COM 端口的友好名称?
我有一个通过 USB 连接的 GSM 调制解调器。调制解调器创建 2 个串行端口。第一个自动连接到调制解调器,第二个在设备管理器中显示为“HUAWEI Mobile Connect - 3G PC UI Interface (COM6)”
第二个端口用于从调制解调器获取重要信息,例如信号质量;发送和接收短信;以及许多其他功能。
我正在编写一个应用程序,它将包含第二个端口提供的一些功能。我需要的是一种确定哪个 COM 端口是备用端口的可靠方法。迭代端口并检查对“ATE0”的响应是不够的。调制解调器的端口通常是编号较低的端口,当拨号连接未激活时,它将与第二个端口一样响应“ATE0”。
我想做的是迭代端口并检查它们的友好名称,如设备管理器中所示。这样我就可以将我的应用程序中的端口链接到设备管理器中标有“HUAWEI Mobile Connect - 3G PC UI Interface (COM6)”的端口。我还没有找到任何可以让我以编程方式获取该名称的信息。
c++ - COM 端口上的 Win32 重叠读取文件返回 ERROR_OPERATION_ABORTED
好的,一个适合蜂巢思维的人......
我的代码 - 直到今天 - 在许多系统上运行得很好,并且部署在许多站点上。它涉及线程从串行端口读取和写入数据。
尝试检查新设备时,我的代码在 ReadFile 之后调用 GetOverlappedResult 时出现 995 ERROR_OPERATION_ABORTED 错误。有时读取会起作用,有时我会收到此错误。只需忽略错误并重试即可 - 令人惊讶的是 - 不会丢失任何数据。不需要 ClearCommError。
这是片段。
我的第一个猜测是归咎于我之前没有使用过的 COM 端口驱动程序(它是 Blackmagic Decklink 上的 RS422 端口,仅供参考),但这感觉像是在逃避。
哦,还有 Vista SP1 Business 32 位,为我的罪过。
在我把它归结为“别人的问题”之前,有没有人知道可能导致这种情况的原因?
c# - GSM 调制解调器库
我正在寻找用 c# 编写的 SMS 库,任何人都是最好的库并且它是免费的吗?我可以在 Linux 中找到超过 1 个,但我找不到任何用 c# 编写且免费的内容
vb.net - 在 VB.net 中的代码中创建串行端口
我正在尝试仅使用代码在 VB.net 中创建一个串行端口。因为我正在创建一个类库,所以我不能使用内置组件。我已经尝试实例化一个新的 SeialPort() 对象,但这似乎还不够。我确信我缺少一些简单的东西,任何帮助将不胜感激!谢谢!
PS 我应该补充一点,我此时遇到的问题是获取代码来处理 datareceived 事件。除此之外,它可能正在工作,但由于这个问题我无法判断。
.net - Windows/.NET 监控/调试串口的方式?
我有一个在 Windows XP Professional 上运行的 .NET 2.0 应用程序。此应用程序使用串行端口与一些自定义设备进行通信。
出于某种原因,我们的一些定制 PC 的串行端口存在问题,使用几周后它将停止运行。除了自动重启(在我的场景中不起作用)之外,是否有任何实用程序可以调试/诊断串行端口?是否有任何.NET 库可以帮助解决这个问题(我可以编写自己的实用程序来调试端口)?
另外,有没有人对以下库有任何经验: Sax CommStudio
java - 用Java读取串口
我是Java的初学者。我正在通过串行端口从设备读取数据。我每分钟获取一次数据,但是在数据正确出现之后,第一次读数将达到一半。
我得到的输出是:
6050.003120815340006050.003120815350006050.0
正确的输出应该是这样的:
03120815340006050.003120815350006050.0
我的代码是:
c# - 在 C# 中,我如何监听已经打开的 COM(串行)端口?
我正在使用一个与我的 COMM 端口对话的程序,但我已经制作了另一个程序,我想“嗅探”通信端口消息并对这些消息执行它自己的操作。这在 .NET c# 中可行吗?