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

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.kler.cn/a/594406.html

相关文章:

  • 爬虫 crawler 入门爬取不设防网页 并实现无限增生
  • ip属地和手机定位区别在哪?是什么
  • Android 第四次面试总结(自定义 View 与事件分发深度解析)
  • [密码学实战]Java实现抗量子Kyber512与Dilithium2算法及详解
  • CAN通信转TCP/IP通信协议解析
  • 涨薪技术|Kubernetes(k8s)之Namespaces详解
  • MCU的应用场景:从智能家居到工业控制
  • Go语言--安装和环境搭配
  • 基于python的Flask模块化设计与蓝图的妙用——打造轻量化Web应用
  • 【QA】QT信号槽底层是怎么实现的?
  • sql server数据迁移,springboot搭建开发环境遇到的问题及解决方案
  • python视频转文本,音频转文本
  • Vue.js 性能优化:虚拟 DOM 与虚拟滚动
  • 太阳能地砖:绿色能源与城市美学的完美融合
  • 工艺品制造行业的现状 内检LIMS系统在工艺品制造的应用
  • 【数学建模】主成分分析(PCA)算法在数学建模中的应用
  • Dify - 架构、部署、扩展与二次开发指南
  • Java 大视界 -- Java 大数据在智慧农业精准灌溉与施肥决策中的应用(144)
  • 前端高级CSS用法
  • 免费提供多样风格手机壁纸及自动更换功能的软件