嵌入式Linux串口应用编程基础知识

分享到:
           

    常见的数据通信的基本方式可分为并行通信与串行通信两种。

    ● 并行通信是指利用多条数据传输线将一个字数据的各比特位同时传送。它的特点是传输速度快,适用于传输距离短且传输速度较高的通信。
    ● 串行通信是指利用一条传输线将数据以比特位为单位顺序传送。特点是通信线路简单,利用简单的线缆就可实现通信,降低成本,适用于传输距离长且传输速度较慢的通信。

    串口是计算机一种常用的接口,常用的串口有RS-232-C接口。它是于1970年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同制定的用于串行通信的标准,它的全称是“数据终端设备(DTE)和数据通信设备(DCE)之间串行二进制数据交换接口技术标准”。该标准规定采用一个DB25芯引脚的连接器或9芯引脚的连接器,其中常用的9芯引脚的连接器如图2.4所示。

  
图2.4 9芯引脚串行接口图

    S3C2410X内部具有2个独立的UART控制器,每个控制器都可以工作在Interrupt(中断)模式或者DMA(直接存储访问)模式。同时,每个UART均具有16字节的FIFO(先入先出寄存器),支持的高波特率可达到230.4Kb/s。UART的操作主要分为以下几个部分:数据发送、数据接收、产生中断、设置波特率、Loopback模式、红外模式及硬软流控模式。

    关于串口参数的配置,在配置超级终端和minicom时已经接触过,一般包括波特率、起始位比特数、数据位比特数、停止位比特数和流控模式。在此,可以将其配置为波特率115200、起始位1b、数据位8b、停止位1b和无流控模式。

    在Linux中,所有的设备文件一般都位于“/dev”下,其中,串口一和串口二对应的设备名依次为“/dev/ttyS0”和“/dev/ttyS1”,而且USB转串口的设备名通常为“/dev/ttyUSB0”和“/dev/ttyUSB1”(因驱动不同该设备名会有所不同),可以查看在“/dev”下的文件以确认。在本章中已经提到过,在Linux下对设备的操作方法与对文件的操作方法是一样的,因此,对串口的读写就可以使用简单的read()、write()函数来完成,所不同的只是需要对串口的其他参数另做配置,下面就来详细讲解串口应用开发的步骤。

    本文选自华清远见嵌入式培训教材《从实践中学嵌入式Linux应用程序开发》

   热点链接:

   1、Linux下多路复用I/O接口
   2、linux 文件锁的实现及其应用
   3、底层文件I/O操作的系统调用
   4、Linux中的文件及文件描述符
   5、Linux文件系统之虚拟文件系统(VFS)

更多新闻>>