- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
嵌入式linux的串口设置参数
linux基础复习(7)串口应用开发
?????? 据通信的基本方式可分为并行通信与串行通信两种。· 并行通信是指利用多条数据传输线将一个资料的各位同时传送。它的特点是传输速度快,适用于短距离通信,但要求传输速度较高的应用场合。· 串行通信是指利用一条传输线将资料一位位地顺序传送。特点是通信线路简单,利用简单的线缆就可实现通信,降低成本,适用于远距离通信,但传输速度慢的应用场合。串口设置详解本节主要讲解设置串口的主要方法。如前所述,设置串口中最基本的包括波特率设置,校验位和停止位设置。串口的设置主要是设置struct termios结构体的各成员值,如下所示:#includestruct termio{????? ????? 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]; /* control characters */};在这个结构中最为重要的是c_cflag,通过对它的赋值,用户可以设置波特率、字符大小、数据位、停止位、奇偶校验位和硬件流控等。另外c_iflag 和c_cc 也是比较常用的标志。在此主要对这3 个成员进行详细说明。???????????????? c_cflag支持的常量名称CBAUD??????? 波特率的位掩码B0?????????? 0波特率(放弃DTR)B1800??????? 1800波特率B2400??????? 2400波特率B4800??????? 4800波特率B9600??????? 9600波特率B19200?????? 19200波特率B38400?????? 38400波特率B57600?????? 57600波特率B115200????? 115200波特率EXTA???????? 外部时钟率EXTB???????? 外部时钟率CSIZE??????? 数据位的位掩码CS5????????? 5个数据位CS6????????? 6个数据位CS7????????? 7个数据位CS8????????? 8个数据位CSTOPB?????? 2个停止位(不设则是1个停止位)CREAD??????? 接收使能PARENB?????? 校验位使能PARODD?????? 使用奇校验而不使用偶校验HUPCL??????? 最后关闭时挂线(放弃DTR)CLOCAL?????? 本地连接(不改变端口所有者)LOBLK??????? 块作业控制输出CNET_CTSRTS? 硬件流控制使能
????? c_iflag支持的常量名称INPCK??????? 奇偶校验使能IGNPAR?????? 忽略奇偶校验错误PARMRK?????? 奇偶校验错误掩码ISTRIP?????? 除去奇偶校验位IXON???????? 启动出口硬件流控IXOFF??????? 启动入口软件流控IXANY??????? 允许字符重新启动流控IGNBRK?????? 忽略中断情况BRKINT?????? 当发生中断时发送SIGINT信号INLCR??????? 将NL映射到CRIGNCR??????? 忽略CRICRNL??????? 将CR映射到NLIUCLC??????? 将高位情况映射到低位情况IMAXBEL????? 当输入太长时回复ECHO????? c_cc 支持的常量名称VINTR???? 中断控制,对应键为CTRL+CVQUIT???? 退出操作,对应键为CRTL+ZVERASE??? 删除操作,对应键为Backspace(BS)VKILL???? 删除行,对应键为CTRL+UVEOF????? 位于文件结尾,对应键为CTRL+DVEOL????? 位于行尾,对应键为Carriage return(CR)VEOL2???? 位于第二行尾,对应键为Line feed(LF)VMIN????? 指定了最少读取的字符数VTIME???? 指定了读取每个字符的等待时间
串口控制函数Tcgetattr???????? 取属性(termios结构)Tcsetattr???????? 设置属性(termios结构)cfgetispeed???? 得到输入速
文档评论(0)