欢迎来到天天文库
浏览记录
ID:22281006
大小:125.12 KB
页数:7页
时间:2018-10-28
《实验5多路复用式串口操作》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、实验5多路复用式串口操作学生姓名:李亚军学号:6100412196专业班级:卓越计科121班1.实验内容通过编写多路复用式串口读写,进一步理解多路复用函数的用法,同时更加熟练掌握Linux设备文件的读写方法。2.实验内容本实验主要实现两台机器(宿主机和目标机)之间的串口通信,每台机器都可以发送和接收数据。除了串口设备名称不同(宿主机上使用串口丨:/dev/ttySl,而在目标机上使用串口2:/dev/ttyS2),两台机器上的程序基本相同。3.实验步骤(I)流程图两台机器上的程序使用同样的流程图。始)
2、(2)编写代码(参见附件)(3)分别编译宿主机和目标机的串口程序。(4)连接属主PC的串口1和目标机器串口2。(5)分别在两台机器上运行串口程序。4.对实验结果截图,撰写实验总结,完成实验报告root@localhost〜]#cd/home/chengchangfu/文趙/Linux_document/实root@localhosthost]#makegcc-I.-g-c-ouart_api.ouart_api.cgcc-I.-g-ocom_hostcom_host.ouart_api.o[root@
3、localhosthost]#./com_hostInputsomewords(enter1quit1toexit):croot®localhosthost]#./com_hosthhsomewords(enter1quit1toexit).somewords(enter1quit'toexit);somewords(enter'quit'toexit):Iselecttimeout:Successroot@localhosthost]#
4、mar«.力jauu/Li向ihxI丄lHJ中o[root@
5、localhosttarget]#./com_targetInputsomewords(enter1quit1toexit):iyjthhselecttimeout:Success'—-[root®localhosttarget]#
6、实验总结:这次实验在配置好串口之发现运行程序的时候总是permissiondenied,肉己没冇仔细考虑过报错的意思,使得做了许多无用功,来才想到可能是权限不够,用root进去以后就一切0K了。S.补充实验:用pollO函数实现具有以上功能的代码只需要修改com_host
7、和com_targetcom_host.c//include^includeincludeinclude^include//includeincludeincludeincludenuart_api.h.intmain(void){structpollfdfds[SEL_FILE_NUM];charbuff[BUFFER_SIZE];inti,real_re
8、ad;intrecv_fd;/*首先按一定的权限打开两个源文件*/fds[O].fd=0;/*标准输入*/if((recv_fd=open(RECV_FILE_NAME,O_CREAT
9、O_WRONLY,0644))<0){perror("open");return1;}fds[0].fd=STDIN_FILENO;/*标准输入*/if((fds[l].fd=open_port(HOST_COM_PORT))<0)/*打开串口*/{perror("open_port");return1;}if(set
10、_com_config(fds[l].fd,115200,8,'N;1)<0)/*配置串口*/{perror("set_com_config");return1;}/*取出两个文件描述符屮的较人者Vfor(i=0;i11、vents11fds[l].events){if(pollffds,SEL_FILE_NUM/0)<0){printf("Pollerror");return1;for(i=0;i
11、vents11fds[l].events){if(pollffds,SEL_FILE_NUM/0)<0){printf("Pollerror");return1;for(i=0;i
此文档下载收益归作者所有