《嵌入式开发环境与工具》实验指导书 - 图文

2026/4/27 18:57:41

《嵌入式开发环境与工具》实验指导书

2.5 Linux串口通信实验 2.5.1 实验目的

1. 了解Linux下串行端口程序设计的基本原理;

2. 掌握终端的主要属性及设置方法,熟悉终端 IO函数的使用;

2.5.2 实验内容

1. 编写serial应用程序; 2. 编写Makefile文件;

3. 下载并调试serial应用程序。

2.5.3 预备知识

1. C语言的基础知识;

2. 程序调试的基础知识和方法; 3. Linux的基本操作;

4. 掌握Linux下的程序编译与交叉编译过程。

2.5.4 实验设备

1. 硬件:CVT-6410嵌入式实验箱、PC机Pentium500以上,硬盘10G以上; 2. 软件:PC机操作系统 redhat linux 9.0 + Linux开发环境。

2.5.5 基础知识

Linux操作系统从一开始就对串行口提供了很好的支持,为进行串行通讯提供了大量的函数,本实验主要是为掌握在Linux中进行串行通讯编程的基本方法。 1. 串口编程相关头文件

#include /*标准输入输出定义*/ #include /*标准函数库定义*/ #include /*linux 标准函数定义*/ #include #include

#include /*文件控制定义*/

#include /*PPSIX 终端控制定义*/ #include /*错误号定义*/

45

《嵌入式开发环境与工具》实验指导书

#include /*线程库定义*/

2. 打开串口

在Linux 下串口文件是位于/dev 下,串口一为/dev/ttySAC0 ,串口二为/dev/ttySAC1 ,打开串口是通过使用标准的文件打开函数操作:

int fd;

/*以读写方式打开串口*/

fd = open( \if (-1 == fd){ perror(\}

3. 设置串口

最基本的设置串口包括波特率设置,效验位和停止位设置。串口的设置主要是设置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 c_cc[NCC]; /* control characters */ };

1) 波特率设置

下面是修改波特率的代码:

struct termios Opt; tcgetattr(fd, &Opt);

cfsetispeed(&Opt,B19200); /*设置为19200Bps*/ cfsetospeed(&Opt,B19200); tcsetattr(fd,TCANOW,&Opt);

2) 校验位的设置: 无效验8位

Option.c_cflag &= ~PARENB; Option.c_cflag &= ~CSTOPB; Option.c_cflag &= ~CSIZE; Option.c_cflag |= ~CS8;

奇效验(Odd) 7位

Option.c_cflag |= ~PARENB; Option.c_cflag &= ~PARODD; Option.c_cflag &= ~CSTOPB; Option.c_cflag &= ~CSIZE; Option.c_cflag |= ~CS7;

偶效验(Even) 7位

Option.c_cflag &= ~PARENB;

46


《嵌入式开发环境与工具》实验指导书 - 图文.doc 将本文的Word文档下载到电脑
搜索更多关于: 《嵌入式开发环境与工具》实验指导书 - 图文 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219