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

【IoT】嵌入式驱动开发:IIC子系统

IIC有三种接口实现方式

三种时序对比:

图1

IIC子系统组成

图2

 图3

IIC操作流程

设备端

1.i2c_get_adapter
2.i2c_new_device(相当于register设备)
3.I2c_put_adapter

驱动端

1.填充i2c_driver
2.i2c_add_driver(相当于register驱动)
3.在probe中建立访问方式

client相关函数

获得i2c_adapter结构体
struct i2c_adapter *i2c_get_adapter(int id)
参数:第几个adapter(0-2)
返回值:获得的i2c_adapter结构体指针

创建并注册i2c_client
struct i2c_client * i2c_new_device(struct i2c_adapter*adap,
struct i2c_board_info

http://www.lryc.cn/news/41270.html

相关文章:

  • DJ2-4 进程同步(第一节课)
  • AI独立开发者:一周涨粉8万赚2W美元;推特#HustleGPT GPT-4创业挑战;即刻#AIHackathon创业者在行动 | ShowMeAI周刊
  • 不要迷信 QUIC
  • 【28】Verilog进阶 - RAM的实现
  • 【MySQL】聚合查询
  • 初时STM32单片机
  • debian部署docker(傻瓜式)
  • JS判断是否为base64字符串如何转换为图片src格式
  • 【SpringMVC】SpringMVC方式,向作用域对象共享数据(ModelAndView、Model、map、ModelMap)
  • 本科课程【移动互联网应用开发(Android开发)】实验3 - Activity及数据存储
  • 为何在 node 项目中使用固定版本号,而不使用 ~、^?
  • leetcode -- 876.链表的中间节点
  • 企业网络安全防御策略需要考虑哪些方面?
  • 文心一言 vs. GPT-4 —— 全面横向比较
  • 【进阶数据结构】二叉搜索树经典习题讲解
  • PyTorch 之 神经网络 Mnist 分类任务
  • 如何实现用pillow库来实现给图片加滤镜?
  • 微分中值定理
  • redis 存储一个map 怎么让map中其中一个值设置过期时间,而不是过期掉整个map?
  • LeetCode:704. 二分查找
  • Java 到底是值传递还是引用传递?
  • Apollo 配置变更原理
  • 聊聊「订单」业务的设计与实现
  • 血细胞智能检测与计数软件(Python+YOLOv5深度学习模型+清新界面版)
  • 高速PCB设计指南(十五)
  • GPT-4:我不是来抢你饭碗的,我是来抢你锅的
  • Scala环境安装【傻瓜式教程】
  • js实现一个简单的扫雷
  • 禁用非必需插件,让 IDEA 飞起
  • 解决win10任何程序打开链接仍然为老旧IE的顽固问题[修改默认浏览器]