使用 Raspberry Pi 通过 RS485 发送和接收帧

sending and receiving frames over RS485 with Raspberry Pi

我的工作任务是用[=​​37=]3控制转弯table。 turntable 有一个内部 RS485 串口,可以通过内置的 FTDI USB 转换器 (USB-RS485-WE-1800-BT) 访问。 我在 Pi 上使用 Raspbian Jessie Lite,还没有决定使用什么编程语言。

首先,在我看来,FTDI 转换器已正确安装。如有错误请指正:

pi@turntable_ctl1:~ $ dmesg | grep FTDI
[    2.236219] usb 1-1.3: Manufacturer: FTDI
[    5.085380] usbserial: USB Serial support registered for FTDI USB Serial Device
[    5.086330] ftdi_sio 1-1.3:1.0: FTDI USB Serial Device converter detected
[    5.087760] usb 1-1.3: FTDI USB Serial Device converter now attached to ttyUSB0

另外,如果我 运行 minicom -D /dev/ttyUSB0 (关闭硬件流控制并打开软件流控制,并将波特率设置为 19200 8N1 ) 转换器 USB 插头内的红色 LED 灯随着我的每一次击键而闪烁。

遗憾的是,没有完整的转弯文件table,因为它是由一家法国公司为我们定制的。那里的人向我提供了这个 graphic (half in english/half in french) 以及以下信息:

"When you send us a PC frame the board respond with a MT frame."

据我了解,要获得 table 转弯,我现在必须在 /dev/ttyUSB0 上打开 RS485 连接,然后执行以下操作:

sendChar(P)
sendChar(C)
sendChar(1)
sendChar(100)  // for example
sendChar(1)    // for example

但我不知道如何用任何编程语言做到这一点。更糟糕的是,我找不到任何执行此操作的代码示例,尽管我希望这是一个相当标准的任务。

因此,如果有人能指出我正确的方向或告诉我我的思路哪里偏离了轨道,我将不胜感激!

感谢您的宝贵时间! 马克

如果这可能与我以外的任何人有关,这是我的解决方案: 经过更多搜索和朋友的大量提示后,我发现这个库提供了(以及 Raspberry Pi 的其他有用工具)一个非常简单的工具集,用于 Raspberry Pi.

上的串行通信

WiringPi - Serial Library

Gordon 在他的网站上提供了您需要的所有文档和教程。

感谢戈登! 马克