问题标签 [serial-communication]

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 投票
1 回答
4883 浏览

c++ - MFC 串行通信

我需要向我的 MFC 应用程序添加串行端口(例如 COM8)通信。我应该查看哪些 API 来执行此操作?我需要它能够在触发(事件、消息、回调等)之前等待 n 个字节进入接收队列。有没有相对简单的方法来做到这一点?我看过的所有示例似乎都使用轮询机制来接收。这不适用于我的应用程序。需要有某种触发机制,当队列中有 n 个字节时触发。谢谢。

0 投票
5 回答
9688 浏览

c++ - 尝试配置 COM 端口时设置 DCB 失败

我正在尝试编写一个使用串行端口(例如 COM8)的 C++ MFC 应用程序。每次我尝试设置 DCB 时都会失败。如果有人能指出我做错了什么,我将不胜感激。

谢谢。

附加信息:生成的错误代码为 87:“参数不正确。” 可能是微软有用的错误代码。j/k

0 投票
1 回答
908 浏览

c++ - 移除 USB 设备时以编程方式中断串行 I/O - C++

我有一个应用程序,其中串行 I/O 是通过虚拟 COM 端口与连接的 USB 设备进行的。当检测到设备意外移除时,停止串行 I/O 的最佳方法是什么。我应该简单地关闭端口吗?或者,是否应该有一个全局变量来指示设备的存在,在尝试发送/接收数据之前,应该在每个串行 I/O 函数中检查该变量?或者,它应该是两者的结合,还是别的什么?谢谢。

0 投票
4 回答
2660 浏览

c++ - 串行端口接收线程未按预期运行 - C++

我的应用程序使用一个单独的线程来异步处理接收到的串行数据。PC 按预期进入接收处理程序,但从那里事情变得很奇怪。

这是我的线程函数:

如果我在调用行上设置断点,ReadFile一切都按我的预期工作,并且 PC 进入回调函数。但是,如果我在下一行设置断点,其中dwWritten计算为零,它为零,表达式计算为 TRUE,循环退出;PC 永远不会收到回调。我究竟做错了什么?谢谢。

0 投票
3 回答
1462 浏览

c++ - 应用程序未从 COM 端口接收串行数据 - C++

我的应用程序没有从 COM 端口正确接收数据。这曾经奏效。我不知道发生了什么。我知道正确的数据正在通过线路发送/接收,因为我可以在我的协议分析器上看到它。

PC 进入该WAIT_OBJECT_0 + 1状态,但缓冲区内容始终为零。我知道这很多,但如果有人能指出我做错了什么,我会非常感激。我可以根据要求添加/删除详细信息。谢谢。

编辑:附加信息

我已经能够验证 PC 是否对 进行了调用ReadFileEx,并且它“成功”了。但是,PC 永远不会进入FileIOCompletionRoutine. 有任何想法吗?(我从代码中删除了错误处理以使生活更简单。)另外,从我在 MSDN 网站上阅读的内容来看,它看起来FileIOCompletionRoutine会在自己的线程中被异步调用。那是对的吗?谢谢。

编辑:最终解决方案

这就是我想出的。显然,这里没有初始化和错误处理代码。我们不能让事情变得太容易。:)

0 投票
2 回答
2178 浏览

objective-c - 如何在 Objective-C 中与 RS232 设备通信?

我正在尝试编写一个命令行 Foundation Objective-C 程序,我需要与 RS232 串行设备通信。

关于如何做到这一点的任何想法?

编辑 - 这不适用于 iPhone!这是一个桌面应用程序。

0 投票
2 回答
9022 浏览

c# - 连接打开时更改 SerialPort 的 BaudRate

我正在使用 SerialPort 类与外部设备进行通信。我以每秒 300 波特的速度开始通信,但是在初始“握手”之后,我必须切换到设备指定的波特率(通常为 9600 Bps)。

在我提高波特率后,我尝试继续通信没有成功,但我不知道为什么。这引出了我的问题:改变波特率的正确方法是什么?可以在连接打开时完成,还是应该先关闭连接?

我一直无法在文档中找到有关此的任何信息...

我两种方式都尝试过,但都没有成功,这让我觉得我一定遗漏了一些明显的东西。

0 投票
4 回答
103 浏览

c++ - 关于C++的问题

对于你们中的一些人来说,这可能是一个相当简单的问题。

我正在查看以下串行读取功能,但我不太明白&prefix[2]这里做了什么。这是否意味着只能填充两个字节或其他内容?

我还应该提到这是播放器/舞台平台的一部分。

0 投票
1 回答
896 浏览

visual-c++ - vc++ mfc中的串行编程

我正在编写两个应用程序,一个是持续监听“COM3”端口并打印数据。

当我运行应该写入该“COM3”端口的其他应用程序时,我收到错误串行端口不存在用于写入。

2个应用程序可以打开句柄来访问我们系统中的同一个串行COM端口吗

0 投票
1 回答
568 浏览

visual-c++ - vc++ mfc中的串行通信问题

我正在使用嵌入式设备。它连接在 COM6 端口上

当我使用腻子写入该端口时,它会以结果回复我。

例如,当你打招呼时,它会回复你好。

我编写了一个写入 COM6 的程序,我可以写入 COM6 端口,但是当我阅读时,我什么也得不到。

我的代码是...

// HelloWorld.cpp : 定义控制台应用程序的入口点。//

任何人都可以帮助我吗?我做错了什么?