OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3416|回复: 1

驱动程序中读取的数据怎么和应用层统一?

[复制链接]

5

主题

8

帖子

0

精华

新手上路

积分
25
金钱
25
注册时间
2019-1-15
在线时间
7 小时
发表于 2022-5-8 17:13:37 | 显示全部楼层 |阅读模式
1金钱
在单片机程序开发中,硬件的使用方式只有驱动工程师知道,因为硬件的操作接口都是他定义的。
具体到了Linux平台,有了操作系统,驱动工程师需要向操作系统提交接口的具体实现,就是open,read,write函数这些,应用工程师不需要知道硬件的具体使用方式,只需要调用open,read,write这些函数就能操作硬件。
现在我有一个很疑惑的问题就是,对于多个寄存器数据的读取,应用工程师如何知道读取到的具体是哪些寄存器的数据,举个例子,在原子的书中的I2C设备AP3216C这个三合一环境光传感器的驱动程序中,读取了3个数据:

上操作系统的一个优点就是向应用工程师提供统一的硬件操作接口,那么此时应用工程师只需要调用read就能读取到传感器数据。那么假设我作为一个应用工程师,驱动不是我开发的,我现在需要读取传感器的ir的值,我调用read函数以后,给我返回了三个值,这时候我怎么知道哪个值是ir的值呢?驱动又不是我开发的,我不知道啊?

这是应用层的程序,驱动程序不是我开发的,我怎么知道ir的值是数组的第一个值呢?
请大佬解解惑。

最佳答案

查看完整内容[请看2#楼]

一般是驱动和应用配合一起开发的
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

0

主题

201

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2552
金钱
2552
注册时间
2019-12-5
在线时间
352 小时
发表于 2022-5-8 17:13:38 | 显示全部楼层
一般是驱动和应用配合一起开发的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-25 10:28

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表