我一直在尝试做一件简单的事情(在 Windows 下非常简单),例如读取 RS-232 数据并将其作为击键发送。我尝试了softwedge - 它应该完全做到这一点 - 不幸的是不完全工作(有缺陷,发送大量垃圾)。 a 所能做的就是:
屏幕 /dev/ttyUSB0 9600,cs8,-parenb,-cstopb,-hupcl
每次我使用 RFID 卡时,它都会显示来自读卡器的数据(同样的功能也适用于 minicom)。但如何将其作为击键发送到活动应用程序呢?
PS:我用的是树莓派2
答案1
在 Linux 中这是一个两步过程。
首先,如果需要(通常不适用于大多数常见串行设备)设置速度。大多数在默认值(我上次查看时为 9600)下工作正常,并且您实际上只需要设置尝试填充大量数据(即调制解调器)或设备需要它的速度。要设置速度,您可以使用 stty 来执行此操作。
stty -speed 19200 -f /dev/something
其次,您将更轻松地打开两个终端,一个用于输入,一个用于输出(尽管这不是“需要”,但它确实使这变得更容易)
要从设备(或任何东西)中读取您
cat /dev/something
或者最好都cat -v < /dev/something
尝试一下,看看您更喜欢哪一个。
在输入端,发送到您的设备
echo -ne 'your gibberish here' > /dev/something
应该可以正常工作。
您真正要做的就是读取和写入“文件”。就是这样。
欲了解更多信息,您可以查看https://askubuntu.com/questions/411108/how-to-write-characters-to-serial-port或者如何向串口发送数据并查看答案?和http://papers.mpastell.com/serial.pdf
不要灰心。有时从 Windows 迁移到 Linux 可能会有点困难。你期待一个复杂的答案,但它通常很简单。