当前位置: 首页 > 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总线是很简单的。

相关文章:

  • 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天
  • 涨知识|没想到吧,体育老师强调的运动恢复方法是错的?
  • 康子兴评《文明的追求》|野人脚印:鲁滨逊的恐惧与文明焦虑
  • 上海交大:关注到对教师邵某的网络举报,已成立专班开展调查
  • 视频|漫画家寂地:古老丝路上的文化与交流留下的独特印记
  • 上海将发布新一版不予行政处罚清单、首份减轻行政处罚清单
  • 巴基斯坦军方:印度导弹袭击已造成至少3人死亡