当前位置: 首页 > news >正文

Linux的I2C总线的原理和结构详解

前言

我前面基本已经吃透了Platform总线,关于Platform总线的原理和结构,详情见下面三篇博文:
https://blog.csdn.net/wenhao_ir/article/details/145023181

https://blog.csdn.net/wenhao_ir/article/details/145018442

https://blog.csdn.net/wenhao_ir/article/details/145030037

在Platform总线中,三个重点是匹配规则(总线的match函数)、platform_device结构体、platform_driver结构体。关于 Platform总线不错的视频总结回顾讲解,请百度网盘搜索“1-3_03_SPI总线设备驱动”,然后从头开始看。

在Linux的I2C总线中,其实重点也是类似的三点,即I2C的match机制、i2c_client结构体、i2c_driver结构体,与Platform总线不同的是,在Platform总线中,总线是一个虚拟的总线概念,而在Linux的I2C总线结构中,总线是实实在在的,I2C本来就是一个物理总线嘛,它上面可以外挂很多I2C设备。我们可以利用Linux的I2C总线为这些外挂的I2C设备也提供上相应的驱动,这样上层应用就可以不用再去像博文 https://blog.csdn.net/wenhao_ir/article/details/146361457 中那样,还需要在用户空间去操作I2C控制器去直接操作硬件,而是直接用相应的驱动程序就可以调用相应的I2C设备了。
Linux的I2C总线的结构原理图如下:
在这里插入图片描述

关于Linux的I2C总线的结构原理的详细介绍,请百度网盘搜索“1-8_4-8_I2C系统驱动程序模型”,然后从05分45秒开始看。这里就不再赘述了,因为只要吃透了Platform总线,那么理解Linux的I2C总线是很简单的。

http://www.dtcms.com/a/80846.html

相关文章:

  • ZMC600E,多核异构如何成就机器人精准控制?
  • CMS漏洞-DeDeCMS篇
  • Python数据可视化实战:从基础图表到高级分析
  • 基于springboot的房产销售系统(016)
  • Spring常用参数校验注解
  • 【MySQL】存储过程
  • 前端安全之DOMPurify基础使用
  • 如何理解分布式光纤传感器?
  • 二手Mac验机过程
  • 新一代电子数据取证专家 | 苏州龙信信息科技有限公司
  • 操作系统为ubantu的服务器上部署nginx软件基础步骤总结
  • 25.单例模式实现线程池
  • Ubuntu基础学习----指令
  • Qt 多线程设计:死循环与信号槽的权衡
  • 通过Knife4j在gateway中对swagger文档进行聚合
  • C# MVC项目部署II后错误,403禁止访问:访问被拒绝问题处理
  • pycharm常用快捷键
  • 2025-03-19 Unity 网络基础2——网络通信基础
  • vmware下linux无法上网解决方法
  • 游戏引擎学习第171天
  • Redis全面学习指南
  • 黑天鹅事件频发:2025年5种蒙特卡洛模拟工具压力测试
  • Elasticsearch Sql 查询
  • 深入理解 RLP 编码与 JSON:原理、应用与比较
  • ubuntu20.04安装完显卡驱动后黑屏问题
  • 【秣厉科技】LabVIEW工具包——OpenCV 教程(6):dnn实战之YOLO模型推理
  • 上线后bug常见问题及解决建议
  • CSS中height使用100%和100vh的区别
  • 百度BOS学习
  • NFS共享搭建