实验5 多路复用式串口操作

实验5 多路复用式串口操作

ID:47137594

大小:102.22 KB

页数:10页

时间:2019-08-11

实验5   多路复用式串口操作_第1页
实验5   多路复用式串口操作_第2页
实验5   多路复用式串口操作_第3页
实验5   多路复用式串口操作_第4页
实验5   多路复用式串口操作_第5页
资源描述:

《实验5 多路复用式串口操作》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验5多路复用式串口操作学生姓名:李亚军学号:6100412196专业班级:卓越计科121班1.实验内容通过编写多路复用式串口读写,进一步理解多路复用函数的用法,同时更加熟练掌握Linux设备文件的读写方法。2.实验内容本实验主要实现两台机器(宿主机和目标机)之间的串口通信,每台机器都可以发送和接收数据。除了串口设备名称不同(宿主机上使用串口1:/dev/ttyS1,而在目标机上使用串口2:/dev/ttyS2),两台机器上的程序基本相同。3.实验步骤(1)流程图两台机器上的程序使用同样的流程图。(2)编写代码(参见附件)(3)分别编

2、译宿主机和目标机的串口程序。(4)连接属主PC的串口1和目标机器串口2。(5)分别在两台机器上运行串口程序。4.对实验结果截图,撰写实验总结,完成实验报告实验总结:这次实验在配置好串口之后,发现运行程序的时候总是permissiondenied,自己没有仔细考虑过报错的意思,使得做了许多无用功,后来才想到可能是权限不够,用root进去以后就一切OK了。5.补充实验:用poll()函数实现具有以上功能的代码只需要修改com_host和com_targetcom_host.c#include#include

3、h>#include#include#include#include#include#include#include"uart_api.h"intmain(void){structpollfdfds[SEL_FILE_NUM];charbuff[BUFFER_SIZE];inti,real_read;intrecv_fd;/*首先按一定的权限打开两个源文件*/fds[0].fd=0;/*标准输入*/if((recv_fd=op

4、en(RECV_FILE_NAME,O_CREAT

5、O_WRONLY,0644))<0){perror("open");return1;}fds[0].fd=STDIN_FILENO;/*标准输入*/if((fds[1].fd=open_port(HOST_COM_PORT))<0)/*打开串口*/{perror("open_port");return1;}if(set_com_config(fds[1].fd,115200,8,'N',1)<0)/*配置串口*/{perror("set_com_config");return1;}/

6、*取出两个文件描述符中的较大者*/for(i=0;i

7、

8、fds[1].events){if(poll(fds,SEL_FILE_NUM,0)<0){printf("Pollerror");return1;}for(i=0;i

9、_FILE_NUM;i++){if(fds[i].revents){memset(buff,0,BUFFER_SIZE);real_read=read(fds[i].fd,buff,BUFFER_SIZE);if(real_read<0){if(errno!=EAGAIN){return1;}}elseif(!real_read){close(fds[i].fd);fds[i].events=0;}else{buff[real_read]='';if(i==0){write(fds[1].fd,buff,strlen(buff))

10、;printf("Inputsomewords(enter'quit'toexit):");}elseif(i==1){write(recv_fd,buff,real_read);printf("%s",buff);}if(strncmp(buff,"quit",4)==0){return1;}}/*endofifreal_read*/}/*endofifrevents*/}/*endoffor*/}/*endofwhile*/exit(0);}com_target.c#include#include

11、io.h>#include#include#include#include#include#include#i

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。