一、tmd26353驱动编写思路:
基于i2c设备驱动框架,首先参考原理图配置dts设备树,挂载在哪个i2c总线下面,阅读规格书去确定此器件的器件地址是0x39(也可以使用i2ctools查看器件挂载情况,i2c-tools使用及调试);测试i2c通讯成功与否,可以去读DEVICE_ID这个寄存器值,然后初始化tmd26353,最后在线程里读接近传感器ADC的值(之前编写是使用中断去获取ADC值,查阅资料发现,在内核里中断处理程序里不能操作I2C操作接口,因为操作I2C_transfer时transfer内部也会有中断产生的。所以中断套中断这样就会死锁),ADC值变化范围与POFFSET寄存器值相关,可设置范围是±255,要根据实际需求设置该值,然后通过写节点接口,将ADC值反馈给应用层去读取。
二、代码分析:
dts配置如下:

&i2c5 {status = "okay";      tmd26353:tmd26353@39{

tmd26353接近传感器之i2c驱动编写相关推荐

  1. Linux I2C驱动框架(超详细)

    Linux I2C驱动框架 文章目录 Linux I2C驱动框架 一.几个重要的对象 1.I2C总线 2.I2C驱动 3.I2C设备 4.I2C设配器 小结 二.内核源码分析 1.注册I2C驱动 2. ...

  2. linux编写gpio驱动程序,linux driver ------ GPIO的驱动编写和调用

    判断哪些文件被编译进内核: 1.通过 make menuconfig 查看 2.比如查看gpio类型的文件,输入 ls drivers/gpio/*.o,有生成.o文件表示被编译进内核 在编写驱动程序 ...

  3. Linux I2C总线(二)I2C设备驱动编写方法

    Linux I2C总线 Linux I2C总线(一)I2C驱动框架 Linux I2C总线(二)I2C设备驱动编写方法 Linux I2C总线(二)I2C设备驱动编写方法 文章目录 Linux I2C ...

  4. linux系统下编写I2C驱动

    I2C 概述 I2C是philips提出的外设总线. I2C只有两条线,一条串行数据线:SDA,一条是时钟线SCL ,使用SCL,SDA这两根信号线就实现了设备之间的数据交互,它方便了工程师的布线. ...

  5. Linux I2C设备驱动编写(二)

    I2C对外API I2C client的注册 i2c_register_board_info具体实现 i2c_new_device I2C driver 关于I2C设备驱动的小总结 I2C adapt ...

  6. 【正点原子MP157连载】第四十章 Linux I2C驱动实验-摘自【正点原子】STM32MP1嵌入式Linux驱动开发指南V1.7

    1)实验平台:正点原子STM32MP157开发板 2)购买链接:https://item.taobao.com/item.htm?&id=629270721801 3)全套实验源码+手册+视频 ...

  7. Linux驱动开发(十八):I2C驱动

    简介 I2C是我们在单片机开发时时常会用到的通讯接口,用来与一些字符型设备进行通信,比如:陀螺仪.温度传感器等等,同样的在Linux下I2C驱动也是十分重要的.有了操作系统的加持,我们不用像在32上那 ...

  8. 学习笔记2--车载传感器之摄像头和激光雷达

    本系列博客包括6个专栏,分别为:<自动驾驶技术概览>.<自动驾驶汽车平台技术基础>.<自动驾驶汽车定位技术>.<自动驾驶汽车环境感知>.<自动驾驶 ...

  9. v4l2驱动编写篇【转】

    转自:http://blog.csdn.net/michaelcao1980/article/details/53008418 大部分所需的信息都在这里.作为一个驱动作者,当挖掘头文件的时候,你可能也 ...

最新文章

  1. JAVA抽象类和接口的区别【附经典分析用例Door】
  2. Android test---robotium----简单例子
  3. c++派生类的访问控制
  4. 解决vscode格式化代码html属性换行问题; ctrl+s格式化去除分号,格式化自动单引号;解决js格式化换行问题;mac上的settings.json完整配置
  5. 基于jsp+mysql+Spring的SpringBoot招聘网站项目(完整源码+sql)主要实现了管理员登录,简历管理,问答管理,职位管理,用户管理,职位申请进度更新,查看简历
  6. docker 设置 jvm 内存_是否值得付费?Oracle,Open JDK等四大JVM性能全面对比
  7. abap 优化之ST05
  8. 计算机自动关闭硬盘,你遇到过电脑硬盘自动关闭的问题吗?
  9. JavaScript学习(四十一)—字面量形式创建对象的注意事项和不足
  10. 【Gym-101889 D】Daunting device【分块】
  11. 注册Gmail账号手机号码提示无法验证
  12. iOS11新特性,如何适配iOS11
  13. hadoop快速自我学习--hadoop平台管理与维护
  14. python人像精细分割_基于UNet网络实现的人像分割 | 附数据集
  15. windows11补充——Insider Preview 10.0.22623.1028 (ni_release)
  16. Adobe Premiere Pro 2020 入门教程(二)新建项目和软件界面的介绍
  17. matlab化石墨烯,基于MATLAB的石墨烯场效应晶体管电学特性研究
  18. word 计算机内存不足,Win10系统中,为什么打开WORD提示内存不足?
  19. Mocha Pro:移除模块
  20. Principle安装包

热门文章

  1. java 返回上一个页面_页面返回上一页浏览位置
  2. 计算机组成原理——万字详解
  3. 鸿蒙os骁龙845,罕见的双屏安卓机:搭载骁龙845+10G内存,五百块捡漏
  4. NDK34_RTMP:摄像头调用预览
  5. super在java中的作用
  6. 踩坑ImageMagick将ios图片文件HEIC格式转jpg/png等
  7. form表单提交数据到后台的方式
  8. java和Vue前后端RSA对称加密
  9. android开发基础1-界面布局(明日科技教程)
  10. Spring Cloud -> Spring Cloud Netflix Eureka快速搭建(一)