快速异步串行通信
Fast asynchronous serial communication
我有一个控制器设计应用程序,我从3个USB设备(在windows下被视为虚拟com端口)获得数据,处理它,然后将动作发送到第4个USB设备(也是虚拟com端口)。我需要处理的数据,一旦我收到它与最小的延迟。我决定在windows嵌入式系统上使用c++,并使用。net System::IO::Ports和DataReceived事件来进行串行通信。我只使用一个USB设备测试我的代码性能,USB设备向计算机发送一个字节,然后计算机将其发送回来。我测量时差,它完全是不确定的。有时2毫秒,有时20毫秒。注意:进程优先级设置为实时
在保证最大延迟的情况下,这是获得确定性延迟的更好方法吗?可能是另一个API适合实时串行通信在windows嵌入式?
Thanks in advance
在Windows中,您无法获得确定性延迟。你不能有任何保证。因为它不是实时操作系统。
如果你想保证你的项目是强制性的,你可以将实时部分导出到一个较小的设备,如Arduino(开源,一些用户用它制作了一个实时操作系统)或Beck芯片(商业,与实时miniOS一起交付);或者你可以安装RealTime Linux,这会带来一定的延迟。
相关文章:
- 获取日期异步信号安全吗?如果在信号处理程序中使用,它会导致死锁吗
- VSOMEIP-2个设备之间的通信(TCP/UDP)不工作
- 是否可以使用winusb同时与多个相同的usb设备进行通信
- 混淆了如何使用IDL与Ethovision进行通信
- C++ Boost::asio串行通信与Arduino无法写入
- 我是否需要包含隐式使用/与 WindowsAPI 通信"Windows.h"?
- 通过TCP的PvP通信问题
- C++一个线程如何正确通信其任务已完成?
- 如何在C++中实现带有packaged_task的异步等待循环?
- 创建 Spdlog 异步文件记录器时遇到困难
- 如何将 Firebase 与基于 Linux 的客户端应用配合使用,以便与服务器进行双向消息通信
- 提升::Asio 异步聊天客户端停止与服务器通信
- 如何在服务器和客户端之间进行异步通信
- C#异步套接字与C++winsock2之间的通信
- 异步套接字连接,当服务器断开TCP通信时,客户端GUI挂起
- 子进程和父进程异步通信
- 快速异步串行通信
- c++中的双向异步通信
- 如何进行异步http请求-响应通信(在vc++中请求,在java中响应)
- 管理异步通信:如何检查在另一个线程中收到的响应