gpt4 book ai didi

c - 使用 Virtualbox 在主机和 guest 之间建立串行端口连接

转载 作者:太空狗 更新时间:2023-10-29 15:24:33 25 4
gpt4 key购买 nike

我正在尝试学习如何编写将从 Linux 中的串行端口读取的 C 代码。我找到了一个很好的教程 here .

我希望能够测试这段代码,所以我认为我需要一个串行端口,或者一种在读取上面的代码时写入串行端口的方法。

我在我的 Mac 上使用 virtualbox 将 Ubuntu 10.04 作为虚拟机运行。我的想法是建立一个虚拟串行连接并从主机写入 guest 。希望像主机终端中的 cat "Hello World">/tmp/fake_serial 一样简单,并由上面链接中的程序读取。

这可能吗?我已经尝试使用虚拟框添加一个串行端口,当我尝试执行上述命令时,我收到一条错误消息,提示我无法写入套接字。

我想到的第二个选择是在 guest 操作系统中使用类似 minicom 的东西,连接到 /dev/ttyS1 并编写消息供我的代码读取同一时间。同样,假设波特率和其他设置都可以,这可能吗?

我没有太多使用串口的经验,所以我很感激任何关于最好的方法的建议。提前致谢。

最佳答案

因此,为了让它正常工作,我刚刚在 VirtualBox 上添加了另一个 Ubuntu VM,并通过虚拟串行端口将两者连接在一起。我用于大量开发的主要原始 VM 将称为 VM1。新的 VM 带有一个小型硬盘,仅用于向 VM1 发送消息,将称为 VM2。这些都是 Ubuntu 10.04 VM。

在 VirtualBox 中转到 VM1 的设置,转到端口,然后按如下方式更改设置:VM1 Settings

现在转到 VM2,选择设置、端口,然后进行如下更改:

VM2 Settings

现在首先需要启动 VM1。启动后启动 VM2。现在您可以在 VM1 中打开一个终端,然后键入 screen/dev/ttyS0 38400(您可能需要运行 sudo apt-get install screen 才能运行)。然后转到 VM2,打开终端,然后键入 echo "Hello">/dev/ttyS0

您应该会看到 Hello 出现在 VM1 中打开的终端中。当你完成运行屏幕时,按 ctrl-a k 来终止它,否则如果你尝试用串行端口做其他事情,你可能会收到一条错误消息,指出端口正忙。

关于c - 使用 Virtualbox 在主机和 guest 之间建立串行端口连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15880303/

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