【ag8首页|亚洲国际 huaims.com】探秘天下未解之谜 分享全球奇闻趣事

手机版 - 繁体中文 - 今天是

ag8亚洲国际|嵌入式linux串口应用编程设计

发布时间:2020-09-13 00:33:01来源:ag8首页|亚洲国际编辑:ag8首页|亚洲国际阅读: 当前位置:首页 > 奇趣自然 > 手机阅读

ag8亚洲国际

ag8亚洲国际_本文基于嵌入式linux下串口应用于编程展开了研究,详尽讲解了串口设置的步骤,可以更佳的解读串口的工作原理。  一、章节  串口是一种常用的模块,常用的串口有RS-232-C模块。S3C2410X内部具备两个独立国家的UART控制器,每个控制器都可以工作在Iag8首页nterrupt(中断)模式或者DMA(必要存储采访)模式。同时,每个UART皆具备16字节的FIFO(先入再行出有寄存器),反对的最低波特率可超过230.4kb/s.  UART的操作者主要可分成以下几个部分:数据发送到、数据接管、产生中断、设置波特率、Loopback模式、红外模式以及软软流触模式。

  在linux中,所有的设备文件一般都坐落于/dev下,其中串口1和串口2对应的设备名依序为/dev/ttyS0和/dev/ttyS1,而且USB并转串口的设备名一般来说为/dev/ttyUSB0  和/dev/ttyUSB1,下面就详尽介绍串口应用于编程。  二、串口设置编撰  读取串口设备时必须设置串口的波特率、校验码、暂停位等等,对于应用于程序开发来说,对于串口设备的设置主要通过如下的结构体已完成的:  termios是POSIX定义的标准接口,是对虚拟世界终端、串口等终端类设备的一种抽象化。

ag8首页

终端有规范模式、非规范模式和完整模式这三种工作模式。上述结构体成员的c_lflag的ICANNON标志位用作定义终端的工作模式类型,如果设置这一位解释终端工作与规范模式下,如果过清理该标志指出终端工作在非规范模式下。配置文件情况是工作在规范模式下。

  在规范模式下,对输出是通过讫的方式展开处置的。在输出行结束符(还包括回车符、EOF等)之前,系统调用read()函数是读书将近输出的数据。在非规范模式下,输出全部都是即时生效的,既不必须额外输出行结束符,也不必须展开行编辑。在该模式下,用户可以通过对参数MIN(c_cc[VMIN])和TIME(c_cc[VTIME])的设置来要求调用read()函数的方式。

下面是4中有所不同的设置情况。  (1)MIN以及TIME全部为0的情况下:  read()函数立刻回到。

环亚国际app

若有格式化的数据时,则读取数据并回到被加载的字节数,否则加载告终并回到0.  (2)MIN小于0,TIME为0:read()函数不会等候到有MIN个字节可以被加载,否则仍然正处于阻塞状态。  (3)MIN为0,而TIME0:只要符合两种情形下:a、不存在数据可读书;b、堵塞TIME的十分之一秒,read函数就不会回到,其中返回值为加载到的字节数。如果在有数据格式化前超时,则read()函数返回值为0.  (4)MIN和TIME全都小于0:只有符合如下两种情形之一时,read()函数才不会回到:内存区中有MIN个字节,或者在两个字符之间超时TIME个十分之一秒。  从严苛意义上来讲,完整模式是一种类似的非规范模式。

在完整模式下,对输出数据的处理方式是按字节为单位,并且终端是不能回显的。通过调用cfmakeraw()函数就可以将把终端的该工作模式设置为完整模式。:ag8亚洲国际。

本文来源:ag8亚洲国际-huaims.com

标签:ag8首页 ag8亚洲国际 环亚国际app

小编推荐:如果您对本文《ag8亚洲国际|嵌入式linux串口应用编程设计》感兴趣,还可以看看《科技是否万能 大数据能够战胜癌症吗_ag8首页》这篇文章。

奇趣自然排行

奇趣自然精选

奇趣自然推荐