gpt4 book ai didi

linux - 如何在 Linux 中通过 USB-to-RS232 线与设备通信?

转载 作者:太空狗 更新时间:2023-10-29 12:04:26 25 4
gpt4 key购买 nike

我最近有一个关于通过 RS-232 线与特定设备通信的项目。因为我的电脑没有串口,所以我使用 USB-to-RS232 线作为设备和我的电脑之间的媒介。但我是 Linux 驱动程序的新手,所以我很难理解它。

我在 Debian 下工作,其中有一个默认的工作驱动程序,我已经测试了在硬件方面可以做的任何事情,发现一切都很好。现在的情况是如何向设备发送命令并在 C 中接收相应的数据。我读过一些书,我认为也许可以将 USB 端口映射为 tty 设备。

我的想法是否正确?我有点困惑。我下载了“minicom”的源代码并阅读了其中的几行,但我还是不太明白。请帮帮我。

最佳答案

您的 USB 转 RS232 可能使用的是 FTDI 芯片。 Linux 中的想法是,任何添加到内核的驱动程序都可以通过操作/dev 文件系统中的条目来访问。

在使用 Linux(或任何 UNIX 变体)时,您需要了解的第一件事是一切皆文件。因此,与 Windows(制造商创建一个 dll 并告诉您调用哪些函数)不同,在 Linux 中您使用标准文件系统函数(纯粹主义者请注意:出于简单原因,我省略了 ioctl)

因此,查看 dev 目录,看看当您插入“电线”时会出现哪些条目,以及当您将其拔出时会消失哪些条目。正如roderigo提到的,设备文件很可能称为ttyUSB0,但ttyS0并非不可能。

然后在您的程序中打开此"file":fd = open("/dev/ttyUSB0", O_RDWR)您可以使用函数 writeread 从您的 com 端口发送和接收字符。完成后使用 close(fd)

关闭端口

要设置线路参数,请在 minicom 源代码或 Linux 文档中搜索 termios 结构。

获取 Kurt Wall 等人撰写的“Linux Programming Unleashed”一书。我认为对于任何为在 Linux 上运行的应用程序编写 C 代码的人来说,它都是必备的。

祝你好运。

关于linux - 如何在 Linux 中通过 USB-to-RS232 线与设备通信?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20237336/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com