您所在位置: 网站首页 / 嵌入式实验2.docx / 文档详情
嵌入式实验2.docx 立即下载
2025-08-27
约1.3万字
约20页
0
20KB
举报 版权申诉
预览加载中,请您耐心等待几秒...

嵌入式实验2.docx

嵌入式实验2.docx

预览

免费试读已结束,剩余 15 页请下载文档后查看

10 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

嵌入式实验2

第一篇:嵌入式实验2南昌航空大学实验报告二0一一年10月16日课程名称:嵌入式系统实验名称:串行端口程序设计班级:080611学生姓名:曹启斌学号:08061107指导教师评定:签名:一、实验目的了解在linux环境下串行程序设计的基本方法。掌握终端的主要属性及设置方法,熟悉终端IO函数的使用。3学习使用多线程来完成串口的收发处理。二、实验内容读懂程序源代码,学习终端IO函数tcgetattr(),tcsetattr(),tcflush()的使用方法,学习将多线程编程应用到串口的接收和发送程序设计中。三、预备知识1、有C语言基础。2、掌握在LINUX下常用编辑器的使用。3、掌握Makefile的编写和使用。4、掌握Linux下的程序编译与交叉编译过程四、实验设备及工具硬件:UP-NETARM2410-S嵌入式实验仪,PC机pentumn500以上,硬盘40G以上,内存大于128M。软件:PC机操作系统REDHATLINUX9.0+MINICOM+AMRLINUX开发环境五、实验原理Linux操作系统从一开始就对串行口提供了很好的支持,为进行串行通讯提供了大量的函数,我们的实验主要是为掌握在LINUX中进行串行通讯编程的基本方法。1.程序流程图程序流程图如图2-3所示:图2-3程序流程图2串口操作需要的头文件#include/*标准输入输出定义*/#include/*标准函数库定义*/#include/*linux标准函数定义*/#include#include#include/*文件控制定义*/#include/*PPSIX终端控制定义*/#include/*错误号定义*/#include/*线程库定义*/3打开串口在Linux下串口文件是位于/dev下,串口一为/dev/ttyS0,串口二为/dev/ttyS1,打开串口是通过使用标准的文件打开函数操作:intfd;/*以读写方式打开串口*/fd=open(“/dev/ttyS0”,O_RDWR);if(-1==fd){perror(“提示错误!”);}4设置串口最基本的设置串口包括波特率设置,效验位和停止位设置。串口的设置主要是设置structtermios结构体的各成员值。structtermio{unsignedshortc_iflag;/*输入模式标志*/unsignedshortc_oflag;/*输出模式标志*/unsignedshortc_cflag;/*控制模式标志*/unsignedshortc_lflag;/*localmodeflags*/unsignedcharc_line;/*linediscipline*/unsignedcharc_cc[NCC];/*controlcharacters*/};设置这个结构体很复杂,可以参考man手册或者由赵克佳、沈志宇编写的《UNIX程序编写教程》,我这里就只考虑常见的一些设置:波特率设置:下面是修改波特率的代码:structtermiosOpt;tcgetattr(fd,&Opt);cfsetispeed(&Opt,B19200);/*设置为19200Bps*/cfsetospeed(&Opt,B19200);tcsetattr(fd,TCANOW,&Opt);校验位和停止位的设置:无效验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;Option.c_cflag|=~PARODD;Option.c_cflag&=~CSTOPB;Option.c_cflag&=~CSIZE;Option.c_cflag|=~CS7;Space效验7位Option.c_cflag&=~PARENB;Option.c_cflag&=~CSTOPB;Option.c_cflag&=&~CSIZE;Option.c_cflag|=CS8;设置停止位:1位:options.c_cflag&=~CSTOPB;2位:options.c_cflag|=CSTOPB;需要注意的是,如果不是开发终端之类的,只是串口传输数据,而不需要串口来处理,那么使用原始模式(RawMode)方式来通讯,设置方式如下:options.c_lflag&=~(ICANON|ECHO|ECHOE|I
查看更多
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

嵌入式实验2

文档大小:20KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用