Android Sensor Driver(三)——其它传感器驱动
发布日期:2021-09-27 14:12:45 浏览次数:3 分类:技术文章

本文共 1115 字,大约阅读时间需要 3 分钟。

属性系统         属性系统传感器驱动的主要组成部分。在传感器驱动中通常使用属性系统实现传感器的打开、关闭、参数设置读取等功能。一个简单的例子如下:        属性系统的驱动代码 HWMON驱动         hemon子系统,可以理解成 hardware monitor——监控硬件设备的传感器,包括温度传感器等等。通常一个典型的例子是LM75温度传感器。这个传感器的使用非常广泛,其代码在linux内核中的位置:$(LINUX SOURCE CODE)/driver/hwmon/lm75.c。这里我们有一个简单的HWMON例子:         HWMON的驱动代码        我为hwmon也写了一个及其简单的测试代码,有点懒,不爱写了。。。        HWMON的测试代码 ioctl         ioctl属于高级字符驱动程序操作,详细的说明可以参考《ldd3》的第六章。在传感器驱动中,一般通过HWMON或者MISC设备驱动来实现和调用ioctl方法。在本文中我们将在MISC驱动中实现IOCTL方法。 MISC驱动          Linux的MISC子系统通常用来实现不太好分类的字符设备,比如AD、看门狗以及一些传感器。在传感器驱动中,通常使用MISC驱动提供一个文件接口,通过该文件接口,用户层代码可以使用ioctl来传递命令和参数,从而控制传感器的工作。         一个MISC驱动的简单代码如下:         MISC代码链接         注:在Linux的misc子系统中,misc_register和misc_deregister分别用来注册和删除MISC设备。misc_register将结构体miscdevice注册成MISC设备,并将file_operations和该设备关联起来,这样我们可以通过在/dev下生成的文件接口使用ioctl传递控制参数。         驱动测试文件代码如下:         MISC驱动测试代码         注:MISC驱动的文件接口和SYS路径都在测试代码中宏定义了,我们获取/dev/misc_example的文件描述符之后,使用ioctl方法与MISC驱动交互。 说明        以上代码在64位ubuntu12.04上编译并测试通过。

测试代码:

驱动测试文件代码如下:

 

http://blog.chinaunix.net/uid-26017891-id-3491096.html

 

转载于:https://www.cnblogs.com/MMLoveMeMM/articles/4109627.html

转载地址:https://blog.csdn.net/FLY_THINK2012/article/details/101840959 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Android Sensor Driver(四)——IIC总线和驱动
下一篇:Android Sensor Driver(二)——Input设备驱动

发表评论

最新留言

路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年04月15日 11时56分52秒