1 / 36
文档名称:

Linux串口编程.ppt

格式:ppt   大小:337KB   页数:36页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

Linux串口编程.ppt

上传人:mh900965 2018/1/8 文件大小:337 KB

下载得到文件列表

Linux串口编程.ppt

相关文档

文档介绍

文档介绍:Linux 串口编程
串口简介
串口设备文件打开与关闭
串口设备设置流程
串口设备读写操作
开发板串口通讯程序
串口简介
异步串行 I /O 方式是将传输数据的每个字符一位接一位地传送。数据的各不同位可以分时使用同一传输通道,因此串行I/O 可以减少信号连线,最少用一对线即可进行。
TxD
TxD
RxD
RxD
GnD
GnD
开发板
PC
串口简介
开始前,线路处于空闲状态,送出连续“1”。传送开始时首先发一个“0”作为起始位,然后出现在通信线上的是字符的二进制编码数据。每个字符的数据位长可以约定为5 位、6 位、7 位或8 位,一般采用ASCII 编码。后面是奇偶校验位,根据约定,用奇偶校验位将所传字符中为“1”的位数凑成奇数个或偶数个也可以约定不要奇偶校验,这样就取消奇偶校验位。最后是表示停止位的“1”信号,这个停止位可以约定持续1 位、 位或2 位的时间宽度。至此一个字符传送完毕,线路又进入空闲,持续为“1”。
计算机串口的引脚说明
序号信号名称符号流向功能
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 与线路接通,出现振铃
串行通信是计算机常用的接口,如:RS-232-C接口。该标准规定采用一个DB25芯引脚连接器或DB9芯引脚连接器。
芯片内部常具有UART控制器,其可工作于Interrupt(中断模式)或DMA(直接内存访问)模式。
UART的操作主要包括以下几个部分:
数据发送;
数据接收;
产生中断;
产生波特率;
Loopback模式;
红外模式;
自动流控模式;
串口参数的配置主要包括:波特率、数据位、停止位、流控协议。
Moxa 串口服务器的引脚定义
串口操作
串口操作需要的头文件
#include <> /*标准输入输出定义*/
#include <> /*标准函数库定义*/
#include <> /*Unix 标准函数定义*/
#include <sys/>
#include <sys/>
#include <> /*文件控制定义*/
#include <> /*PPSIX 终端控制定义*/
#include <> /*错误号定义*/
打开串口
在 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 [NCC]; /* control characters */
};