我可以在Linux上使用RS-232的并行端口吗?

时间:2012-03-09 14:18:38

标签: python serial-port linux-device-driver

我机器上的RS232(DB9)端口已满,所以我想使用并行端口写入LCD记分板。制作具有正确引脚排列的电缆不是问题。我需要使用python与设备接口。

这就是我想要的:一个类似于pySerial的API,所以我可以设置波特率,并将一个字符串发送到记分板。记分板对握手或停止位没有要求,应该自动检测。我只需要写入设备,无需读取此端口。

我知道pyParallel,有没有人用过类似的应用程序?它似乎是专门为并行(LPT)协议设计的。我的记分牌将支持RS232,RS422,RS485或20mA电流环。我为RS232设备做了相当多的编程,但我的串行通信技术知识有限。非常感谢任何帮助。

2 个答案:

答案 0 :(得分:3)

http://pythonic-wisdom.blogspot.com/2008/11/accessing-parallel-port-on-linux-from.html

简而言之,是的,可以实现波特率的限制,最大值是通过inb / outb,可以通过python gpio模块使用,每秒大约300,000次操作,如果你只写入端口则为300kbaud。使用linux / dev / parport至少慢两倍。

如果你只需要9600波特率,那么很有可能实现可靠的传输,尽管你必须为你的传输或接收做好准备,因为linux调度或python gc会中断。

另一个问题是电压等级,对于rs-232你需要-10和+10 Vdc左右,并且你不能从并行端口获得负电压,你必须为此添加一些硬件。

也许您可能会或可能不会通过依次设置一对引脚(高,低)和(低,高)来伪造rs422 / rs485差分信号。

在实践中无法告诉你有关当前循环的更多信息。这是https://electronics.stackexchange.com/

的内容

答案 1 :(得分:0)

如果您的计算机上有USB接口,则可以使用转换器:http://www.amazon.co.uk/USB-RS232-Converter-Cable/dp/B00077DJIQ

如果您没有免费的USB端口,则可以使用USB集线器。