Jam*_*mes 4 c virtualbox serial-port
我正在尝试学习如何编写将从Linux中的串行端口读取的C代码.我发现似乎是一个很好的教程在这里.
我希望能够测试这段代码,所以我想我需要一个串口,或者在上面的代码读取时写入串口的方法.
我正在使用virtualbox在我的Mac上运行Ubuntu 10.04作为虚拟机.我的想法是建立虚拟串行连接并从主机写入访客.希望像cat "Hello World" > /tmp/fake_serial主机终端一样简单,并且可以通过上面链接中的程序读取.
这可能吗?我尝试使用虚拟框添加串口,当我尝试执行上述命令时,出现错误,说我无法写入套接字.
我想到的第二个选项是使用类似minicom客户操作系统内部的东西来连接说/dev/ttyS1和写消息,以便我的代码同时读取.再次,假设波特率和其他设置都可以,这可能吗?
我没有很多使用串口的经验,所以我很感激有关最佳方法的建议.提前致谢.
为了实现这一点,我在VirtualBox上添加了另一个Ubuntu VM,并通过虚拟串口将两者连接在一起.我用于大量开发的主要原始VM将被称为VM1.具有仅用于向VM1发送消息的小型硬盘的新VM将被称为VM2.这些都是Ubuntu 10.04 VM.
在VirtualBox中,转到VM1的设置,转到端口,然后按如下所示更改设置:
现在转到VM2,选择设置,端口,然后更改如下:

首先,您需要启动VM1.当它启动时,然后启动VM2.现在您可以在VM1中打开终端并键入screen /dev/ttyS0 38400(您可能需要sudo apt-get install screen在此工作之前运行).然后转到VM2,打开终端,然后键入echo "Hello" > /dev/ttyS0.
您应该看到Hello在VM1中打开的终端中显示.当你完成运行屏幕按下ctrl-a k它以杀死它,否则如果你尝试用串口做其他事情,你可能会收到一条错误消息,说明端口正忙.