新手上路
- 积分
- 25
- 金钱
- 25
- 注册时间
- 2019-1-15
- 在线时间
- 7 小时
|
1金钱
在单片机程序开发中,硬件的使用方式只有驱动工程师知道,因为硬件的操作接口都是他定义的。
具体到了Linux平台,有了操作系统,驱动工程师需要向操作系统提交接口的具体实现,就是open,read,write函数这些,应用工程师不需要知道硬件的具体使用方式,只需要调用open,read,write这些函数就能操作硬件。
现在我有一个很疑惑的问题就是,对于多个寄存器数据的读取,应用工程师如何知道读取到的具体是哪些寄存器的数据,举个例子,在原子的书中的I2C设备AP3216C这个三合一环境光传感器的驱动程序中,读取了3个数据:
上操作系统的一个优点就是向应用工程师提供统一的硬件操作接口,那么此时应用工程师只需要调用read就能读取到传感器数据。那么假设我作为一个应用工程师,驱动不是我开发的,我现在需要读取传感器的ir的值,我调用read函数以后,给我返回了三个值,这时候我怎么知道哪个值是ir的值呢?驱动又不是我开发的,我不知道啊?

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