- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《inux串口读写
Linux 串口读写 串行口是计算机一种常用的接口,具有连接线少,通讯简单,得到广泛的使用。常用的串口是 RS-232-C 接口(又称 EIA RS-232-C)它是在 1970 年由美国电子工业协会(EIA)联合贝尔系统、 调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准。它的全名是数据终端设备(DTE)和数据通讯设备(DCE)之间串行二进制数据交换接口技术标准该标准规定采用一个 25 个脚的 DB25 连接器,对连接器的每个引脚的信号内容加以规定,还对各种信号的电平加以规定。传输距离在码元畸变小于 4% 的情况下,传输电缆长度应为 50 英尺。 Linux 操作系统从一开始就对串行口提供了很好的支持 计算机串口的引脚说明 序号 信号名称 符号 流向 功能 2 发送数据 TXD DTE→DCE DTE发送串行数据 3 接收数据 RXD DTE←DCE DTE 接收串行数据 4 请求发送 RTS DTE→DCE DTE 请求 DCE 将线路切换到发送方式 5 允许发送 CTS DTE←DCE DCE 告诉 DTE 线路已接通可以发送数据 6 数据设备准备好 DSR DTE←DCE DCE 准备好 7 信号地 信号公共地 8 载波检测 DCD DTE←DCE 表示 DCE 接收到远程载波 20 数据终端准备好 DTR DTE→DCE DTE 准备好 22 振铃指示 RI DTE←DCE 表示 DCE 与线路接通,出现振铃 ? 串口操作 串口操作需要的头文件 #include???? stdio.h????? /*标准输入输出定义*/ #include???? stdlib.h???? /*标准函数库定义*/ #include???? unistd.h???? /*Unix 标准函数定义*/ #include???? sys/types.h? /*数据类型,比如一些XXX_t的那种*/ #include???? sys/stat.h?? /*定义了一些返回值的结构,没看明白*/ #include???? fcntl.h????? /*文件控制定义*/ #include???? termios.h??? /*PPSIX 终端控制定义*/ #include???? errno.h????? /*错误号定义*/ ? 打开串口 在 Linux 下串口文件是位于 /dev 下的 串口一 为 /dev/ttyS0 串口二 为 /dev/ttyS1 打开串口是通过使用标准的文件打开函数操作: int fd; /*以读写方式打开串口*/ fd = open( /dev/ttyS0, O_RDWR); if (-1 == fd){ /* 不能打开串口一*/ perror( 提示错误!); } ? 设置串口 最基本的设置串口包括波特率设置,效验位和停止位设置。 串口的设置主要是设置 struct termios 结构体的各成员值。 struct termio {?? unsigned short? c_iflag; /* 输入模式标志 */? ??? unsigned short? c_oflag;???? /* 输出模式标志 */? ??? unsigned short? c_cflag;???? /* 控制模式标志*/?? ??? unsigned short? c_lflag;???? /* local mode flags */?? ??? unsigned char? c_line;?????? ??? /* line discipline */ ??? unsigned char? c_cc[NCC];??? /* control characters */ }; ? 设置这个结构体很复杂,我这里就只说说常见的一些设置: 波特率设置 下面是修改波特率的代码: struct? termios Opt; tcgetattr(fd, Opt); /*获得当前设备模式,与终端相关的参数。fd=0标准输入*/ cfsetispeed(Opt,B19200); /*设置结构termios输入波特率为19200Bps*/ cfsetospeed(Opt,B19200);?? /*fd应该是文件描述的意思*/ tcsetattr(fd,TCANOW,Opt);/*设置终端参数,TCANOW修改立即发生*/ ? 设置波特率的例子函数: /** *@brief? 设置串口通信速率 *@param? fd???? 类型 int? 打开串口的文件句柄 *@param? speed? 类型 int? 串口速度 *@return? void */ int speed_ar
您可能关注的文档
最近下载
- 《戏剧影视表演剧目创作》课件——2.任务2 梳理中心事件与矛盾冲突.pptx VIP
- 18G901-1混凝土结构施工钢筋排布规则与构造详图(现浇混凝土框架、剪力墙、梁、板)公开版.docx VIP
- 化妆品店长毕节大方岗位职责.docx VIP
- (正式版)DB35∕T 2250-2025 《免陪照护病区服务规范》.pdf VIP
- 【教学课件】微专题课件:把握戏剧冲突.pptx
- 高级园林绿化工试题库(含答案).pdf VIP
- 微电影创作教程全套教学课件.pptx VIP
- 高二【物理(人教版)】实验:练习使用多用电表-教学设计.docx VIP
- 2025年执业药师考试《中药学专业知识(一)》真题及答案解析【完整版20259.pdf VIP
- 2009年十一月号 - 沙田培英中学.pdf VIP
文档评论(0)