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

[iic]iic四参数函数设备地址,寄存器地址,数据内容,数据长度

你观察到的函数参数数量差异源于 I2C通信流程的差异。这两种函数设计对应了I2C协议的两种数据传输模式:

一、参数差异的本质原因

1. 四参数函数 qst_sw_readreg()
ret_i2c = qst_sw_readreg(g_qma6100p.slave<<1, reg_add, buf, num);
  • 参数含义

    • g_qma6100p.slave<<1:I2C从机地址(左移1位后包含读写位)。
    • reg_add:寄存器地址(指定要读取的寄存器)。
    • buf:数据缓冲区(存储读取结果)。
    • num:读取字节数。
  • 通信流程
    这是一个 复合操作,包含两个I2C事务:

    1. 写寄存器地址:发送从机地址(写模式)+ 寄存器地址。
    2. 读数据:重新发送从机地址(读模式)+ 读取num字节数据。
    [主机]  →  [从机地址(写), 寄存器地址]   // 告诉从机"我要读这个寄存器"
    [主机]  ←  [从机地址(读), 数据[0], ...] // 读取数据
    
2. 三参数函数 soft_iic_read_buf()

相关文章:

  • vue 引入配置的常量时,常量内部怎么引用 vue 中的值
  • 从 0 开始部署 Archivematica (windows环境)
  • Thinkphp6使用token+Validate验证防止表单重复提交
  • 如何进行Appium实现移动端UI自动化测试?
  • [C++]洛谷B3626 跳跃机器人(题干 + 详细讲解, BFS练习题)
  • 如何评价OpenRouter这样的大模型API聚合平台?
  • C++友元函数和友元类
  • wsl 魔法
  • 【每天一个知识点】“数字人”(Digital Human)
  • 中台项目-微前端qiankun-umimax
  • PCB设计实践(二十七)电感的形态分类与应用场景深度解析
  • 一个国债交易策略思路
  • MySQL快速入门篇---联合查询
  • Mybatis(2)
  • CPU飚高处理经验总结
  • Web前端开发(JS的快速入门)
  • AI要掌握的知识
  • RAGFlow与Dify的深度刨析
  • 矩阵乘法--Python
  • ES的Refresh、Flush、Merge操作对性能的影响? ES如何实现近实时(NRT)搜索? ES聚合查询的Terms和Cardinality区别?
  • 网站做ppt模板/什么叫做关键词
  • android 移动网站开发/电脑优化工具
  • 中国建设部网站-玻璃幕墙/网络整合营销案例
  • 如何做物流网站/seo怎么做新手入门
  • 主机做网站服务器怎么设置/搜索引擎推广方式有哪些
  • 在线编程网站开发/苹果被曝开发搜索引擎对标谷歌