




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实 验 报 告( 2011 / 2012 学年 第 2 学期)课程名称嵌入式系统B 实验名称串行端口程序设计实验时间2012年6月18日指导单位通信与信息工程学院指导教师王诚学生姓名班级学号学院(系)通信与信息工程学院专 业电子信息工程实验名称串行端口程序设计指导教师王诚实验类型验证试验实验学时4实验时间2012.6.18一、 实验目的和要求目的:了解在 linux 环境下串行程序设计的基本方法,掌握终端的主要属性及设置方法,熟悉终端 I /O 函数的使用,学习使用多线程来完成串口的收发处理。要求:读懂程序源代码,学习终端I /O 函数的使用方法,学习将多线程编程应用到串口的接收和发送程序设计中二、实验环境(实验设备)硬件:UP-NETARM2410-S 嵌入式实验平台、PC 机Pentium 500 以上, 硬盘10G 以上。软件:PC 机操作系统REDHAT LINUX 9.0MINICOMARM-LINUX 开发环境三、实验原理及内容实验内容:了解在linux 环境下串行程序设计的基本方法。掌握终端的主要属性及设置方法,熟悉终端I /O 函数的使用。学习使用多线程来完成串口的收发处理要求实验步骤:1、阅读理解源码进入expbasic03_tty 目录,使用vi 编辑器阅读理解源代码。源代码如下:#include #include #include #include #include #include #define BAUDRATE B115200#define COM1 /dev/ttyS0#define COM2 /dev/ttyS1#define ENDMINITERM 27 /* ESC to quit miniterm */#define FALSE 0#define TRUE 1volatile int STOP=FALSE;volatile int fd;void child_handler(int s)printf(stop!n);STOP=TRUE;/*-*/void* keyboard(void * data)int c;for (;)c=getchar();if( c= ENDMINITERM)STOP=TRUE;break ;return NULL;/*-*/* modem input handler */void* receive(void * data)int c;printf(read modemn);while (STOP=FALSE)read(fd,&c,1); /* com port */write(1,&c,1); /* stdout */printf(exit from reading modemn);return NULL;/*-*/void* send(void * data)int c=0;printf(send datan);while (STOP=FALSE) /* modem input handler */c+;c %= 255;write(fd,&c,1); /* stdout */usleep(100000);return NULL; /*-*/int main(int argc,char* argv)struct termios oldtio,newtio,oldstdtio,newstdtio;struct sigaction sa;int ok;pthread_t th_a, th_b, th_c;void * retval;if( argc 1)fd = open(COM2, O_RDWR );elsefd = open(COM1, O_RDWR ); /| O_NOCTTY |O_NONBLOCK);if (fd 0) error(COM1);exit(-1);tcgetattr(0,&oldstdtio);tcgetattr(fd,&oldtio); /* save current modem settings */tcgetattr(fd,&newstdtio); /* get working stdtio */newtio.c_cflag = BAUDRATE | CRTSCTS | CS8 | CLOCAL | CREAD; /*ctrol flag*/newtio.c_iflag = IGNPAR; /*input flag*/newtio.c_oflag = 0; /*output flag*/newtio.c_lflag = 0;newtio.c_ccVMIN=1;newtio.c_ccVTIME=0;/* now clean the modem line and activate the settings for modem */tcflush(fd, TCIFLUSH);tcsetattr(fd,TCSANOW,&newtio); /*set attrib*/sa.sa_handler = child_handler;sa.sa_flags = 0;sigaction(SIGCHLD,&sa,NULL); /* handle dying child */pthread_create(&th_a, NULL, keyboard, 0);pthread_create(&th_b, NULL, receive, 0);pthread_create(&th_c, NULL, send, 0);pthread_join(th_a, &retval);pthread_join(th_b, &retval);pthread_join(th_c, &retval);tcsetattr(fd,TCSANOW,&oldtio); /* restore old modem setings */tcsetattr(0,TCSANOW,&oldstdtio); /* restore old tty setings */close(fd);exit(0);2、编译应用程序运行make 产生term 可执行文件rootzxt root# cd /arm2410s/exp/basic/03_tty/rootzxt 03_tty# makearmv4l-unknown-linux-gcc -c -o term.o term.carmv4l-unknown-linux-gcc -o ./bin/term term.o -lpthreadarmv4l-unknown-linux-gcc -o term term.o -lpthreadrootzxt 03_tty# lsMakefile Makefile.bak term term.c term.o tty.c3、下载调试切换到minicom 终端窗口,使用NFS mount 开发主机的/arm2410s 到/host 目录。进入expbasic03_tty 目录,运行term,观察运行结果的正确性。rootzxt root# minicom/mnt/yaffs mount -t nfs -o nolock 6:/arm2410s /host/mnt/yaffscd /host/exp/basic/03_tty/host/exp/basic/03_tty./termread modemsend data123456789:;?ABCDEFGHIJKLMNOPQRSTUVWX由于内核已经将串口1 作为终端控制台,所以可以看到term 发出的数据,却无法看到开发主机发来的数据,可以使用另
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024四川长虹模塑科技有限公司招聘塑压辅助工等岗位1084人笔试参考题库附带答案详解
- 九年级数学下册 第27章 圆27.2 与圆有关的位置关系3切线第2课时 切线长定理与三角形的内切圆教学设计 (新版)华东师大版
- 中考专题之勾画隐圆,破解最值教学设计 2023-2024学年北师大版数学九年级下册
- 2024四川省水电投资经营集团有限公司公开选聘所属公司财务总监5人笔试参考题库附带答案详解
- 专题03 情境补写考点(教案)2025年新高考语文一轮复习考点满分宝典 学案
- 九年级数学上册 第23章 图形的相似23.6 图形与坐标 2图形的交换与坐标教学设计 (新版)华东师大版
- 55018《计算机控制技术(第2版)》于海生版本教学大纲
- 化学九年级上册第1节 构成物质的基本微粒教案设计
- 人教部编版七年级上册第二单元 夏商周时期:早期国家的产生与社会变革第五课 青铜器与甲骨文教学设计
- 人教部编版七年级上册第七课 战国时期的社会变化教学设计
- 安全意识培训的关键要素考核试卷
- 医疗代表陌生拜访
- 山西同文职业技术学院婴幼儿托育服务与管理人才培养方案
- 2025人教版高中物理必修一学考知识点复习指导课件
- 部编版(2024)三年级道德与法治上册第12课《生活离不开规则》教学课件
- 初级家政服务员近年考试真题题库(含真题、典型题)
- 05生产制造指令单
- 书法测评基础理论知识单选题100道及答案解析
- 河南省多校联考2023-2024学年高一下学期4月期中物理试题
- Endat编码器在AX5000系列伺服上使用说明
- 第十一章-新闻事业管理-《新闻学概论》课件
评论
0/150
提交评论