实验七LED灯控制实验.docx

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验七LED灯控制实验

实验七 LED灯控制实验 实验目的 1、 掌握通过文件系统操作 I/O设备的方法; 2、 学会使用S5PV210 的GPIO设备实现简单的功能。 实验设备 1)装有Ubuntu系统或装有Ubuntu虚拟机的PC 机一台; 2)A8嵌入式实验箱一台; 3)本实验用到的实验箱模块有:S5PV210 CPU板模块,LED 模块 实验要求 循环让led1-led4点亮 实验原理 在Linux 系统中,所有设备都是以文件的形式被打开并进行读/写操作的,本实验中使用POSIX容的文件操作接口函数对底层设备进行操作。POSIX是Portable Operating System Interface foIX的首字母缩写词,是一套 IEEE 和ISO标准。这个标准定义了应用程序和操作系统之间的一个口。只要保证他们的程序设计的符合 POSIX 标准,开发人员就能确信他们的程序可以和支持SIX 的操作系统互联。这样的操作系统包括大部分版本的 UNIX。POSIX 标准现在由 IEEE 的一分支机构Portable Applications Standards Committee(PASC)维护。 本实验需要用到以下几个文件操作函数: 【函数原型】int open(const char *pathname, int oflag); int open(const char *pathname, int oflag, mode_t mode); 【功 能】打开名为path 的文件或设备,成功打开后返回文件句柄。 【参 数】pathname : 文件路径或设备名 oflag : 打开方式。可选值可以是表 1.1中的一个值或几个值的组合 【返 回 值】成功打开后返回文件句柄,失败返回-1 【头 文 件】使用本函数需要包含sys/types.h、fcntl.h和sys/stat.h。 表 1.1 打开方式对照表 打开方式意义O_RDONLY只读方式打开O_WRONLY只写方式打开O_RDWR读写方式打开(等同于O_RDONLY | O_WRONLY) O_CREAT如果文件不存在则首先创建。此时需要mode参数O_EXCL独占方式打开O_NOCTTY禁止取得终端控制O_TRUNC清除文件原有内容O_APPEND追加方式打开O_DSYNCO_NONBLOCK采用非阻塞文件/O方式O_RSYNC 当新创建一个文件时,需要指定mode 参数。mode 参数的可选值和意义如表 1.2所示。 表 1.2 mode参数对照表 mode  意义 S_IRWXU 文件拥有者具有读写执行权限S_IRUSR(S_IREAD) 文件拥有者仅有读权限S_IWUSR(S_IWRITE)文件拥有者仅有写权限S_IXUSR(S_IEXEC)文件拥有者仅具有执行权限S_IRWXG组用户具有读写执行权限S_IRGRP组用户仅有读权限S_IRWGRP组用户仅有写权限S_IXGRP组用户仅有执行权限S_IRWXO其他用户有读写执行权限S_IROTH其他用户仅有读权限S_IWOTH其他用户仅有写权限S_IXOTH其他用户仅有执行权限 【函数原型】int close(int fd); 【功 能】关闭之前被打开的文件或设备 【参 数】fd : 文件或设备句柄,通常由 open函数返回 【返 回 值】成功打开后返回 0,失败返回-1 【头 文 件】使用本函数需要包含unistd.h 【函数原型】ssize_t read(int fd, void *buffer, size_t count); 【功 能】从已经打开的文件中读取数据 【参 数】fd : 文件或设备句柄,通常由 open函数返回 buffer : 数据缓冲区 count : 要读取的字节数 【返 回 值】成功读取后返回读取的字节数,失败返回-1 【头 文 件】使用本函数需要包含unistd.h 【函数原型】ssize_t write(int fd, void *buffer, size_t count); 【功 能】向已经打开的文件中写入数据 【参 数】fd : 文件或设备句柄,通常由 open函数返回 buffer : 数据缓冲区 count : 要写入的字节数 【返 回 值】成功写入后返回写入的字节数,失败返回-1 【头 文 件】使用本函数需要包含unistd.h

文档评论(0)

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

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

1亿VIP精品文档

相关文档