zoukankan      html  css  js  c++  java
  • VirtualBox Ubuntu虚拟机串口编程

    VirtualBox Ubuntu虚拟机串口编程 

    此文适用于Ubuntu虚拟机实现串口通信,可以在虚拟机上运行程序,直接将windows下的串口映射到虚拟机上即可。在网上找了半天,没有找到合适的教程,而且网上的版本比较老。加之自己摸索,现将过程整理如下,便于日后复习与其他人使用。

    首先我的VirtualBox的版本为5.2.16,目前已经支持了四个串口了(网上的好多教程还只支持两个)。言归正传:

    1、关闭虚拟机,打开VirtualBox的设置菜单,找到串口选项,如下图所示:

     

       2、目前只支持四个串口,肯定够一般程序使用了。选中启用串口选项,这样就可以配置串口信息了,下面将个选项详细说明下:

    串口编号:需要映射的串口号(此为Windows下串口设备连接的串口号)

    端口模式:这里有五个选项,分别说明下:

     

    未连接:创建串口,但是没有建立物理连接

    主机管道:把串口设置成主机上的一个管道pipe

    主机设备:串口对应主机上的设备,例如此处COM3,那么对应到Ubuntu上为/dev/ttyS2,这里我使用的这种模式。这样就可以在虚拟机上访问这个串口名实现串口通信了。

    裸文件:将串口输出,放到一个文件里面去。具体设置,就很简单,直接将文件路径填上就可以了;

    TCP:这个没有细研究,应该是通过ip:port的形式访问串口吧。

        这里主要选择了主机设备,这样就可以在虚拟机上访问对应的串口了

    启动虚拟机,然后

    可以通过命令查看linux上串口状态:

              sudo setserial -g /dev/ttyS*(若是没有setserial命令根据提示安装就行)

          这里可以看出串口设备的状态,此时ttyS2对应的状态如下:

    其他串口都为unknown,即不可用,只有ttyS2为可用串口,这样我们就可以通过操作文件那样open,read,write来操作这个串口了。需要调用tcgetattr,tcsetattr等设置串口的属性,这里不介绍串口使用。

    最后:需要注意的是,这里有可能因为权限问题open串口失败,这里要检查下是否有相应的权限。直接sudo chmod 777 /dev/ttyS2修改下权限,或者sudo方式运行应用程序即可。

              

  • 相关阅读:
    PAT (Advanced Level) Practice 1054 The Dominant Color (20 分)
    PAT (Advanced Level) Practice 1005 Spell It Right (20 分) (switch)
    PAT (Advanced Level) Practice 1006 Sign In and Sign Out (25 分) (排序)
    hdu 5114 Collision
    hdu4365 Palindrome graph
    单链表查找最大值、两个递增的链表合并并且去重
    蓝桥杯-最短路 (SPFA算法学习)
    蓝桥杯-最大最小公倍数
    Codeforces-470 div2 C题
    蓝桥杯-地宫取宝
  • 原文地址:https://www.cnblogs.com/wisdomyzw/p/9592905.html
Copyright © 2011-2022 走看看