第一范文网 - 专业文章范例文档资料分享平台

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

来源:用户分享 时间:2025/7/26 3:19:52 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

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

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文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c51mgg6c10238cch96p9k_13.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top