rs-232 serial connection through ethernet cable (tcp)(通过以太网线(TCP)实现RS-232串行连接)
本文介绍了通过以太网线(TCP)实现RS-232串行连接的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个通过RS-232接口控制的硬件设备(它是一个超声波脉冲接收器)。我需要编写一个程序来将命令从我的计算机发送到设备。然而,不同寻常的是,该设备没有串口(DB-9 COM端口),而是有RJ45插座(以太网插座)。该设备附带一个适配器,用于将设备上的以太网端口连接到用于与计算机通信的串行电缆。 遗憾的是,我的计算机没有串口,只有以太网端口。如果可能的话,我想取消适配器,用以太网线将我的计算机直接连接到设备上。这在物理上是可能的,但我不知道如何转换消息协议?例如,我的设备没有用于打开TCP套接字的IP地址?到目前为止,我一直在使用Boost.asio(在Ubuntu机器上)通过TCP套接字将消息流发送到其他支持TCP的设备。如果可能的话,我想继续使用Boost.ASIO库,因为它是跨平台的。我真的不知道从哪里开始-我一直使用Boost.ASIO库,它很好地隐藏了大多数协议问题。然而,我相信这是可能的,因为有一些Windows程序似乎也做类似的事情,例如,参见http://com0com.sourceforge.net/
欢迎任何指导性建议。非常感谢
推荐答案
实际上它无法正常工作。它只是机械地工作。以太网使用的物理电压和电流与串口使用的非常不同。不仅如此,引脚引脚也不兼容。
幸运的是,以太网使用磁耦合信号,否则您会烧毁主板或超声设备。
这不仅仅是软件协议的问题。
这篇关于通过以太网线(TCP)实现RS-232串行连接的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
织梦狗教程
本文标题为:通过以太网线(TCP)实现RS-232串行连接
基础教程推荐
猜你喜欢
- GDB 显示调用堆栈上函数地址的当前编译二进制文 2022-09-05
- 为什么派生模板类不能访问基模板类的标识符? 2021-01-01
- 为什么 typeid.name() 使用 GCC 返回奇怪的字符以及如 2022-09-16
- 非静态 const 成员,不能使用默认赋值运算符 2022-10-09
- 我应该对 C++ 中的成员变量和函数参数使用相同的名称吗? 2021-01-01
- 通过引用传递 C++ 迭代器有什么问题? 2022-01-01
- 如果我为无符号变量分配负值会发生什么? 2022-01-01
- 初始化列表*参数*评估顺序 2021-01-01
- CString 到 char* 2021-01-01
- 为什么 RegOpenKeyEx() 在 Vista 64 位上返回错误代码 2021-01-01
