- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Linux串口编程笔记详细
storysnail的Linux串口编程笔记storysnail的Linux串口编程笔记? Author : He YiJun (storysnailat QQ:363559089) Develop Team : 7fane Team (,测试网站,到2013年11月底) Editor : Yang QiuXi Art Designer : He YiJun License : 7fane Team License 1.0 Last Update : 2013-03-26 这半个月因肺部感染而不得不暂时终止那令人生厌的中石油巡检工作,闭门在家安静的?修养。整月的工钱自然是泡汤了,可却得来了极其珍贵的个人闲暇时光,让我能淋漓尽致的?做软件方面的研究,虽是粗茶淡饭,针剂苦药,但可静心埋头于书房,却比天堂还甜美! 恍惚已至月末,工作单位来了音讯,让我一下子从甜美的梦中惊醒,从哪里来,回哪里?去,这种如主体思想一样可怕的思维是我挥之不去的梦魇,无奈、不知所措、病弱的身体?却不由自主的向那发声的地方靠去! 好了,还是不再发牢骚了,只是个人觉得这种臃肿低效的国企能够存在,本身就是对“?国富论”绝佳的嘲讽,我只能用世界是多元的来啊Q一下了! 切入正题,这段时间做GSM/GPRG和GPS的小东西,需要通过串口发送AT指令来控制,以前?调试一直在用串口助手和minicom之类的现成软件,可是一点都不爽,为什么不自己写个操作?串口的软件,就像在ARM和stm32上一样! 这文章其实只是我的一个笔记,分为两篇,一篇是《storysnail的Windows串口编程笔记》,?另一篇是《storysnail的Linux串口编程笔记》,由于网上已经有非常多的类似文章,有些长篇?大论,有些短小精悍,连我自己都思考过是否有必要再写一篇,但在Ling的鼓动下还是写了! 本篇是Linux串口编程笔记,详细介绍了串口通信会用到的api函数,并提供了一个示例程序,?这个示例程序是在EEEPC701的debian系统上编写测试的。一:写串口程序用到的函数? 1:Linux与windows串口设备文件名对照?操作系统 串口1串口2 USB/RS-232转换器Windows COM1 COM2 COMX(我的系统上X=4)Linux /dev/ttyS0 /dev/ttyS1 /dev/ttyUSB0 2:写串口程序用到的函数? 串行通讯函数定义在termios.h头文件中,所以需要包含该文件。下面是要介绍的函数列表?open打开串口 close关闭串口read接收数据write发送数据fcntl设置IO为阻塞或非阻塞ioctl实现POSIX.1 GTI控制界面所有函数功能tcgetattr读取串口设备的当前属性,保存在termios_p所指向的结构中tcsetattr设置串口设备的当前属性cfgetospeed 返回输出波特率cfgetispeed 返回输入波特率cfsetispeed 设定输入波特率cfsetospeed 设定输出波特率 2.1?open?用途:打开串口?原型:int open( const char * pathname,int flags);?参数说明:?pathname:?? 指向欲打开的文件路径字符串?flags?????? 所能使用的标志位:? O_RDONLY?? 以只读方式打开文件? O_WRONLY?? 以只写方式打开文件? O_RDWR???? 以可读写方式打开文件。? O_RDONLY、O_WRONLY、O_RDWR标志位是互斥的,不可同时使用,但可与下列的? 标志位|运算组合。? O_CREAT??? 若欲打开的文件不存在则自动建立该文件。? O_EXCL???? 如果O_CREAT 也被设置,此指令会去检查文件是否存在。文件若不存在则建立该文件,? 否则将导致打开文件错误。此外,若O_CREAT与O_EXCL同时设置,并且欲打开的文件为? 符号连接,则会打开文件失败。? O_NOCTTY?? 表明本程序不是该串口上的“控制终端”。即本程序不受Ctrl+c、Ctrl+z这类? 组合键产生的信号影响。? O_TRUNC??? 若文件存在并且以可写的方式打开时,此标志位会令文件长度清为0,? 而原来存于该文件的 资料也会消失。? O_APPEND?? 当读写文件时会从文件尾开始移动,也就是所写入的数据会以附加的方式加入到文件后面。? O_NONBLOCK 非阻塞模式打开。在打开很多串行端口设备时,open函数有时候会阻塞很长一段? 时间.例如当打开一个调制解调器的端口就会阻塞直到DCD信号线有信号电压为
文档评论(0)