如何使用RS232串行端口使arduino在两台设备之间通信?

如何使用RS232串行端口使arduino在两台设备之间通信?,arduino,arduino-uno,Arduino,Arduino Uno,我刚到阿杜伊诺。 我有一些医疗设备,它们使用RS232(DB9)串行端口通信向计算机发送和接收数据。其他一些设备在彼此之间发送和接收数据。然而,来自不同制造商的一些设备在从其他设备接收数据之前需要对数据进行一些格式修改。我曾经通过计算机从设备1接收数据,然后修改格式,然后重新发送到设备2,这样就完成了任务,但这需要两台设备之间有一台计算机。我问Arduino是否能够通过使用串行端口(DB9)同时连接到两个设备来完成这项工作,这样它就可以从第一个设备接收数据,并在使用代码对格式稍作修改后将数据重新

我刚到阿杜伊诺。
我有一些医疗设备,它们使用RS232(DB9)串行端口通信向计算机发送和接收数据。其他一些设备在彼此之间发送和接收数据。然而,来自不同制造商的一些设备在从其他设备接收数据之前需要对数据进行一些格式修改。我曾经通过计算机从设备1接收数据,然后修改格式,然后重新发送到设备2,这样就完成了任务,但这需要两台设备之间有一台计算机。我问Arduino是否能够通过使用串行端口(DB9)同时连接到两个设备来完成这项工作,这样它就可以从第一个设备接收数据,并在使用代码对格式稍作修改后将数据重新发送到另一个设备。我知道这并不简单,但如果这是可能的,即使是在一个艰难的方式,我会感谢如果有人指导我如何做到这一点。谢谢您的单向转发,这就足够了。请随意添加您的格式

Serial.write(Serial.read());
当然,这需要嵌入到有效的Arduino草图中


如果要向两个方向转发,则需要第二个硬件USART,或使用软件串行库在数字I/O上模拟该硬件。

是,这是可能的。答案可以通过简单的网络搜索得到。您所需要做的就是添加格式。如果没有两种硬件用法,也可以使用SoftwareSerial库。如果oyu只接收一个,然后发送给另一个,那么如果您想在线阅读此主题(免费):谢谢,我已经搜索了很多,但我想询问具体细节。我将只从一个只有DB9的设备接收数据,并只向一个也使用DB8的设备发送数据。我想我应该使用max232芯片将一个设备连接到一个设备,并使用Rx和Tx引脚发送数据。我如何从第一台设备接收信号?@EGMAX232只是一个电平移位器,它将Arduino的5或3.3v逻辑转换为RS232电平。如果通信是单向的,则将max232连接到Arduino的Rx和Tx引脚。然后将发送设备Tx引脚连接到Max232的Rx,将接收设备Rx连接到Max232的Tx引脚。所有人都必须共享相同的GND。arduino接收传入数据,格式化并转发至接收设备。只要做任何Arduino系列教程,不要在没有电平转换的情况下将Arduino连接到设备上。非常感谢您的帮助