你好,欢迎来到电脑编程技巧与维护杂志社! 杂志社简介广告服务读者反馈编程社区  
合订本订阅
 
 
您的位置:文章管理 / 本期精品文章
Linux下USB到串口通信
 

阙川宁

摘要   介绍了LinuxUSB到串口通信的方法,分析了相关模块的程序。                                                                                                                  

关键词 LinuxUSB到串口,驱动程序模块,模块间依赖关系,加载,卸载

绪论

计算机被普遍用于从各种仪器获取数据,并对数据进行加工处理而后进一步去控制外部设备。 Linux快速的、可靠的、健壮的、现代的、实用的、真正的多用户、多任务操作系统,具有稳定性非常高,内核可根据需要剪裁、定制等特点。在2004年德国的《经济周刊》中,Linux和无线网络、生物芯片等技术被评为改变人们生活的十大实用技术。把Linux运用到工业控制领域,特别是军事及国防工业上,可以大大提高系统的安全可靠性。

在过去的很长时间内,RS232串行接口方式是许多仪表仪器、控制终端等的主流通信方式之一,但与现在的主流上位机(PC等)的USBUniversal Serial Bus)总线接口方式不相匹配。而现在的计算机大多只有一个串口。这样,要同时处理各仪器的数据就必须使用多台计算机。理论上,计算机最多可同时处理127USB设备。如果使用USB到串口转接器把各仪器的数据通过USB口接入计算机,就可以使用一台计算机同时处理各仪器的数据,从而解决这个问题。

USB到串口通信

Linux中,文件是抽象的,Linux已将几乎所有的东西都按文件来对待,所以我们可以像操作普通文件那样去打开、关闭、读取和写入不同的终端设备。Filesystem Hierarchy Standar(FHS) Linux遵循的文件目录的命名和架构标准,在此文件系统层次结构中,Linux所有的设备以设备文件名的方式存放在目录/dev下,USB到串口转接器的设备文件为ttyUSB0。如果使用多口转接器或USB hub,则相应设备文件依次为ttyUSB1ttyUSB2ttyUSB3ttyUSB254ttyUSB255

打开文件:

        int fd; /* File descriptor for the port */
         fd = open("/dev/ttyUSB0", O_RDWR | O_NOCTTY | O_NDELAY);

Linux对用户的权限进行了严格规定,在默认情况下,普通用户不具备访问设备文件的权限。超级用户(root)具有最高权限,如果以root身份登录系统,则无须考虑权限问题。

读、写该设备只需如下简单调用:

                nread = read(fd, buff, nbytes_rd)

                  nwrite= write(fd,buff,nbytes_wt)

    调用close()即可关闭该该设备。

Linux下的USB到串口通信,对串口的设置遵循POSIX标准。在Linux中,tty这个名字用来指任何串口设备。物理tty设备的例子有串口、USB到串口的转接器等。

termios结构被用来为在tty设备上的某个特定的端口保存当前所有设置,这些设置控制着当前的波特率、数据大小、数据流参数和其他一些值。该结构的各个成员的含义如表1所示:

  推荐精品文章

·2024年6月目录 
·2024年5月目录 
·2024年4月目录 
·2024年3月目录 
·2024年2月目录 
·2024年1月目录
·2023年12月目录
·2023年11月目录
·2023年10月目录
·2023年9月目录 
·2023年8月目录 
·2023年7月目录
·2023年6月目录 
·2023年5月目录

  联系方式
TEL:010-82561037
Fax: 010-82561614
QQ: 100164630
Mail:gaojian@comprg.com.cn

  友情链接
 
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved
京ICP备14022230号-1,电话/传真:010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
地址:北京市海淀区远大路20号宝蓝大厦E座704,邮编:100089