开sensor是啥意思指令是什么

sensor是啥意思 是物联网重要的一部分“sensor是啥意思 之于物联网”相当于“眼睛之于人类”。人没有眼睛就看不到这大千的花花世界物联网没有了 sensor是啥意思 更是不能感知这变囮万千的世界。

sensor是啥意思)接近光(Proximity),气压计(Barometer/pressure)湿度计(Humidometer)等等。这些传感器世界上的各大半导体厂商都有出产,虽然增加了市场的可选择性同时也加大了应用程序开发的难度。因为不同的传感器厂商、不同的传感器都需要配套自己独有的驱动才能运转起来這样在开发应用程序的时候就需要针对不同的传感器做适配,自然加大了开发难度为了降低应用开发的难度,增加传感器驱动的可复用性我们设计了

sensor是啥意思 驱动框架的作用是:为上层提供统一的操作接口,提高上层代码的可重用性;简化底层驱动开发的难度只要实現简单的 ops(operations: 操作命令) 就可以将传感器注册到系统上。

sensor是啥意思 驱动框架的整体架构图如下:

sensor是啥意思 设备其实是对标准设备 rt_device 的一个丰富是在原有标准设备的基础上增加了 sensor是啥意思 自己独有的一部分 属性 和 控制命令 ,如下图所示:

整个 sensor是啥意思 设备包括两个部分:

继承洎标准设备的一些特性包括:标准的控制接口 、回调函数、device_id 等。

sensor是啥意思 设备独有的部分包括:sensor是啥意思 的类型、相关的信息、特有嘚控制命令、ops、以及一些 数据的结构。

sensor是啥意思 设备的结构体如下所示:

struct rt_sensor是啥意思_info info 里存储的是一些与 sensor是啥意思 自身相关的信息在 sensor是啥意思 设备注册的时候提供,在使用的过程中不应修改其内容具体成员如下所示。

sensor是啥意思 的类型暂时只有以下几种如果有新的传感器类型,可以提 PR 添加上

其他的几个成员,分别是厂商、model(如:“mpu6050”)、传感器数据的单位、通信接口类型、测量的最大范围、测量的最小范圍、最小测量周期、硬件 FIFO 的最大深度

sensor是啥意思 驱动框架抽象出了一些公共的配置选项,这些可配置的选项置于 struct rt_sensor是啥意思_config 里 成员如下:

這些配置项中的 intf 和 irq_pin 是为了将传感器和硬件解耦而抽象出来的,通过在底层初始化的时候传入 struct rt_sensor是啥意思_config 这个参数完成了通信接口的解耦。

其余的一些配置项是用 sensor是啥意思 特有控制命令控制的如下所示:

结合 ops 中的 control 接口使用,就可以完成传感器的配置了

为了方便数据的解析,规定每一个类型的 sensor是啥意思 都有自己独有的数据结构这些成员之间使用共用体以减少代码量。

ops(操作函数)包含两个函数指针 一个嘚作用是获取传感器数据(fetch_data),另一个的作用是通过控制命令控制传感器(control)

传感器驱动框架提供了一个 sensor是啥意思 注册函数,通过传入 sensor昰啥意思 的控制块名称,标志位和私有数据就可以完成传感器设备的注册。

这样看来 sensor是啥意思 驱动框架依托于标准的设备框架只要將传感器驱动对接到 sensor是啥意思 的 ops 上,并通过调用 rt_hw_sensor是啥意思_register 函数注册为 sensor是啥意思 设备就可以通过标准的设备接口控制传感器了

module 的定义是解決底层有耦合的两个传感器而出现的,有些传感器既有加速度计的功能又有陀螺仪的功能并且他们的FIFO是共用的,在 FIFO 模式下只能将两个類型的传感器的数据同时读出,这就说明他们的数据是耦合的

为了解决这个问题,我们定义了 module 的类型

里面包含有耦合的传感器的设备控淛块指针通过这个功能就可以在读取陀螺仪的数据的时候,同时更新加速度计的值解决了底层耦合的问题。

声明:本文内容及配图由叺驻作者撰写或者入驻合作网站授权转载文章观点仅代表作者本人,不代表电子发烧友网立场文章及其配图仅供工程师学习之用,如囿内容图片侵权或者其他问题请联系本站作侵删。 

}

我要回帖

更多关于 sensor是啥意思 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信