linux串口编程技术分析.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
串口简介 通信的基本方式可分为并行通信与串行通信两种方式。 并行通信是指数据的各个位同时进行传输的一种通信方式 优点:传输速度快   缺点:数据有多少位就需要多少根传输线,所以在位数多、传输距离远时,通信线路复杂,成本高。 串行通信是指数据一位一位地传输的方式。 优点:这种通信方式的数据传输只需一、两根传输线,通信线路简单,成本低,特别适用于远程通信 缺点:传输速度较慢。多用于传输距离长、低速度的场合。 串口简介 串行接口简称串口,也称串行通信接口(通常指COM接口),是采用串行通信方式的扩展接口。 常用串口 1、RS-232-C:也称标准串口,是目前最常用的一种串行通讯接口 2、RS-422:为改进RS-232通信距离短、速率低的缺点 3、RS-485:为扩展应用范围,EIA又于1983年在RS-422基础上制定了RS-485标准,增加了多点、双向通信能力 4、USB:通用串行总线,是一个外部总线标准,用于规范电脑与外部设备的连接和通讯。是应用在PC领域的接口技术。USB接口支持设备的即插即用和热插拔功能. 5、RJ-45:RJ-45接口,适用于由双绞线构建的网络,这种端口是最常见的,一般来说以太网集线器都会提供这种端口 串口简介 串口简介 终端机接口 终端机接口(也称TTY界面)用于让Linux系统通过RS-232串口连到调制解调器,然后通过电话线与远程计算机系统相连接。 终端机接口有两种模式: 正规模式(canonical):在这种模式中,终端设备会处理特殊字符,且会以一次一行的方式将输入传入给应用程序。如:Linux的shell命令。 非正规模式(Non-canonical):在这种模式中,终端设备不会处理特殊字符,且会以一次一个字符的方式将输入传入给应用程序。 如:linux的vim编辑程序 串口文件 在linux中,针对所有的周边设备都提供了设备文件供用户访问,所以如果要访问串口,只要打开相关的设备文件即可。 在 Linux 下串口文件是位于 /dev 下的 COM1 串口一 为 /dev/ttyS0 COM2 串口二 为 /dev/ttyS1 设置波特率 设置奇偶校验、数据、停止位 打开串口 串口操作需要的头文件 #include stdio.h /*标准输入输出定义*/ #include stdlib.h /*标准函数库定义*/ #include unistd.h /*Unix 标准函数定义*/ #include sys/types.h #include sys/stat.h #include fcntl.h /*文件控制定义*/ #include termios.h /*POSIX 终端控制定义*/ #include errno.h /*错误号定义*/ 打开串口 int fd; /*以读写方式打开串口*/ fd = open( /dev/ttyS0, O_RDWR|O_NOCTTY|O_NDELAY); if (-1 == fd){ /* 不能打开串口一*/ perror( 提示错误!); } 注意:O_NOCTTY用于告诉Linux这个程序不想控制TTY界面,如果不设置这个标签,那么有些输入(如键盘的abort信号)将会影响程序。 O_NDELAY用于告诉Linux这个程序不介意RS-232的DCD信号的状态,如果不设置这个标签,那么程序将处于sleep状态,直到RS-232有DCD信号进来。 设置串口 最基本的设置串口包括波特率设置,效验位和停止位设置。 串口的设置主要是设置 struct termios 结构体的各成员值。 struct termios { unsigned short c_iflag; 输入模式标志,控制终端输入方式 unsigned short c_oflag; 输出模式标志,控制终端输出方式 unsigned short c_cflag; 控制模式标志,指定终端硬件控制信息 unsigned short c_lflag; 本地模式标志,控制终端编辑功能 unsigned char c_line; /* line discipline */ unsigned char c_cc[NCC]; 控制字符,用于保存终端驱动程序中的特殊字符 }; c_iflag--输入模式标志参数表 IGNBRK 忽略BREAK键输入 BRKINT 如果设置了IGNBRK,BREAK键的输入将被忽略,如果设置了 BRKINT ,将产生S

文档评论(0)

阿里山的姑娘 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档