第5.0章 嵌入式Linux文件操作.ppt

  1. 1、本文档共131页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1.打开串口 接下来可恢复串口的状态为阻塞状态,用于等待串口数据的读入,可用fcntl函数实现,如下所示: fcntl(fd, F_SETFL, 0); 再接着可以测试打开文件描述符是否引用一个终端设备,以进一步确认串口是否正确打开,如下所示: isatty(STDIN_FILENO); 该函数调用成功则返回0,若失败则返回?1。 这时,一个串口就已经成功打开了。接下来就可以对这个串口进行读、写操作。 2.读写串口 读写串口操作和读写普通文件一样,使用read、write函数即可,如下所示: write(fd,buff,8); read(fd,buff,8); 2.读写串口 /*读串口程序*/ int main(void) { int fd; int nread,i; char buff[]=Hello\n; if((fd=open_port(fd,1))0){ //打开串口 perror(open_port error); return; } if((i=set_opt(fd,115200,8,N,1))0){ //设置串口 perror(set_opt error); return; } printf(fd=%d\n,fd); nread=read(fd,buff,8);//读串口 printf(nread=%d,%s\n,nread,buff); close(fd); return; } 2.读写串口 int main(void) { int fd; int nread,nwrite,i; char buff[8]; fd_set rd; /*打开串口*/ if((fd=open_port(fd,1))0){ perror(open_port error); return; } /*设置串口*/ if((i=set_opt(fd,115200,8,N,1))0){ perror(set_opt error); return; } /*利用select函数来实现多个串口的读写*/ FD_ZERO(rd); FD_SET(fd,rd); while(FD_ISSET(fd,rd)){ if(select(fd+1,rd,NULL,NULL,NULL)0) perror(select); else{ while((nread = read(fd, buff, 8))0) { printf(nread=%d,%s\n,nread,buff); } } close(fd); return; } 本章小结 ARM Linux文件I/O的原理,以及不带缓存的文件I/O操作相关API函数的使用 标准I/O开发的相关API函数 嵌入式Linux串口应用开发 * 在内核中,dev_t 类型( 在 linux/types.h 头文件有定义 ) 用来表示设备号,包括主设备号和次设备号两部分。对于 2.6.x 内核,dev_t 是个 32 位量,其中 12 位用来表示主设备号,20 位用来表示次设备号。 在 linux/types.h 头文件里定义有 typedef __kernel_dev_t dev_t; typedef __u32 __kernel_dev_t; Linux Kernel Internals(3cont.)--Virtual Filesystem 3.5 Superblock and Mountpoint Management Under Linux, information about mounted filesystems is kept in two separate structures - super_block and vfsmount. The reason for this is that Linux allows to mount the same filesystem

文档评论(0)

boss + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档