网站大量收购独家精品文档,联系QQ:2885784924

北邮在线物联网课程:字符设备和状态设备的使用.pdf

北邮在线物联网课程:字符设备和状态设备的使用.pdf

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

北邮在线物联网课程:字符设备和状态设备的使用 基础知识 Linux 操作系统中一切皆为文件,所以,我们用到的一些设备,也当作文件 去操作。对设备的操作,一般对计算机的硬件操作的比较少,一般是外围嵌入 式设备,如出租车计价器,开发板的LED 灯等。 4.1 字符设备 我们今天以目标机(开发板)上的温度传感器为例给大家讲解字符设备的 操作。 字符设备的操作也要遵循文件的操作步骤,打开操作关闭。 在打开时,需要知道文件的名称以及打开方式。一般驱动人员在驱动设备 的时候会对硬件设备进行命名,一般都是放在“/dev ”下面,查看目标机的使 用手册可以查到设备对应的名称。例如:温度传感器名为 TEM0 。对于温度传 感器来说,我们仅需要读取传感器的值来查看温度,我们不需要给传感器写数 据。因此,以只读方式就可以了。 在对传感器设备进行读取时,需要给一个地址用来存放读取出来的数据。 温度需要放到一个结构体内,具体的结构体的类型在目标机的使用手册中有说 明,包括两个成员一个是整型,一个是浮点型。在精度要求不高时,只用整型, 在精度要求高时,需要用到浮点型。 struct temperature { int a; float f; }; 4.2 状态设备 我们今天以目标机(开发板)上的LED 为例给大家讲解状态设备的操作。 状态设备的操作也要遵循文件的操作步骤,打开操作关闭。 在打开时,需要知道文件的名称以及打开方式。查看目标机的使用手册可 以查到LED 对应的名称为“leds ”。对于LED 来说,我们仅需要设置它的状态 是“亮”或者“灭”,因此,以只写方式就可以了。 4.3 相关函数列表 表4-1 LED 灯操作相关函数列表 函数名 ioctl 头文件 #include fcntl.h 函数原型 int ioctl(int fd, int cmd,int position); 控制 I/O 设备 ,提供了一种获得设备信息和向设备发送控制参数的 手段。用于向设备发控制和配置命令 ,有些命令需要控制参数,这 read / write , Out-of-band 函数功能 些数据是不能用 读写的 称为 数据。也 ,read / write in-band , I/O 就是说 读写的数据是 数据 是 操作的主 ioctl , 体,而 命令传送的是控制信息 其中的数据是辅助的数据。 1.fd :欲操作的文件路径与文件名,也可以是目录名。 备注:当该参数为文件的时候,access 函数能使用mode 参数所有 的值,当该参数为目录的时候,access 函数值能判断目录夹是否存 参数说明 在。 2.cmd 0 :表示关闭1表示打开。 3.position :表示位置。 0 -1 函数返回值 成功为 ,出错为 。 案例 例1. 写程序,读取目标机上温度传感器的温度,并且打印出来。 /* *文件:temp.c *题目:打开温度传感器,读取当前温度,并显示到屏幕上 */ #include stdio.h #include fcntl.h #include stdlib.h //定义温度结构体 typedef struct temp {

文档评论(0)

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

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

1亿VIP精品文档

相关文档