首页服务器Linux服务器 浅谈linux下的串口通讯开发

浅谈linux下的串口通讯开发

串行口是计算机一种常用的接口,具有连接线少,通讯简单,得到广泛的使用。常用的串口是RS-232-C接口(又称EIA RS-232-C)它是在1970年由美国电子工业协会(EIA)联合贝尔系统、调制…

串行口是计算机一种常用的接口,具有连接线少,通讯简单,得到广泛的使用。常用的串口是RS-232-C接口(又称EIA RS-232-C)它是在1970年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准。串口通讯指的是计算机依次以位(bit)为单位来传送数据,串行通讯使用的范围很广,在嵌入式系统开发过程中串口通讯也经常用到通讯方式之一。

Linux对所有设备的访问是通过设备文件来进行的,串口也是这样,为了访问串口,只需打开其设备文件即可操作串口设备。在linux系统下面,每一个串口设备都有设备文件与其关联,设备文件位于系统的/dev目录下面。如linux下的/ttyS0,/ttyS1分别表示的是串口1和串口2。下面来详细介绍linux下是如何使用串口的:

1. 串口操作需要用到的头文件

#include /*标准输入输出定义*/

#include /*标准函数库定义*/

#include /*Unix 标准函数定义*/

#include

#include

#include /*文件控制定义*/

#include /*POSIX 终端控制定义*/

#include /*错误号定义*/

#include /*字符串功能函数*/

2. 串口通讯波特率设置

波特率的设置定义在,其包含在头文件里。

常用的波特率常数如下:

B0-------à0 B1800-------à1800

B50-----à50 B2400------à2400

B75-----à75 B4800------à4800

B110----à110 B9600------à9600

B134----à134.5 B19200-----à19200

B200----à200 B38400------à38400

B300----à300 B57600------à57600

B600----à600 B76800------à76800

B1200---à1200 B115200-----à115200

假定程序中想要设置通讯的波特率,使用cfsetispeed( )和cfsetospeed( )函数来操作,获取波特率信息是通过cfgetispeed()和cfgetospeed()函数来完成的。比如可以这样来指定串口通讯的波特率:

#include //头文件定义.......................struct termios opt; /*定义指向termios 结构类型的指针opt*//***************以下设置通讯波特率****************/cfsetispeed(&opt,B9600 ); /*指定输入波特率,9600bps*/cfsetospeed(&opt,B9600);/*指定输出波特率,9600bps*//************************************************/...................
本文来自网络,不代表1号站长-站长学院|资讯交流平台立场。转载请注明出处: https://www.1cn.cc/fwq/Linux/8979.html
上一篇完美解决linux下U盘文件只读的问题
下一篇 详解linux下redis安装、启动与停止,redis做成服务
admin

作者: admin

这里可以再内容模板定义一些文字和说明,也可以调用对应作者的简介!或者做一些网站的描述之类的文字或者HTML!

为您推荐

评论列表()

    联系我们

    联系我们

    0898-88888888

    在线咨询: QQ交谈

    邮箱: email@wangzhan.com

    工作时间:周一至周五,9:00-17:30,节假日休息

    关注微信
    微信扫一扫关注我们

    微信扫一扫关注我们

    关注微博
    返回顶部