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

STM32/GD32——I2C通信协议

芯片选型

Ciga Device — GD32F470系列

通讯规则

I2C协议(或称IIC)是由飞利浦(现在的恩智浦半导体)公司开发的一种通用的总线协议。它使用两根线(时钟线和数据线)来传输数据,支持多个设备共享同一条总线。 I2C协议通常用于连接微控制器、传感器、存储器和其他外围设备。

2C总线包括两根信号线:SDA(串行数据线)和SCL(串行时钟线)。

这两根信号线共用一个总线,因此在总线上可以连接多个设备。在I2C总线上,每个设备都有一个唯一的地址,用于标识设备。

  • SCL线是时钟线,用于控制数据传输的速度和时序;
  • SDA线是数据线,用于传输实际的数据.

写流程

  1. 开始
  2. 发送设备地址,等待从设备响应
  3. 发送寄存器地址,等待从设备响应
  4. 发送一个字节,等待从设备响应。这个操作是循环执行,直到没有数据
  5. 停止

读流程

  1. 开始
  2. 发送设备地址(写地址),等待从设备响应
  3. 发送寄存器地址,等待从设备响应。
  4. 开始
  5. 发送设备地址(读地址),等待从设备响应
  6. 接收一个字节,发送响应给从设备。这个操作是循环执行,直到没有数据。当是最后一个数据时,发送空响应
  7. 停止

I2C软实现代码案例

I2C硬实现代码案例

屏幕显示移植案例

相关文章:

  • Nodejs web服务器之GET、POST请求初次体验
  • 2024《》
  • 论文研读_多目标部署优化:无人机在能源高效无线覆盖中的应用(ImMOGWO)精简版
  • 100个Linux操作命令和20个常用脚本
  • docker中的具名和匿名挂载
  • MySQL CTEs通用表表达式:进阶学习-递归查询
  • Qt将Unicode转换成UTF8中文
  • 哈希专题 - leetcode 1. 两数之和 - 简单难度
  • 代码随想录算法训练营day47|第九章 动态规划part09:198.打家劫舍、213.打家劫舍II、337.打家劫舍III
  • 掌握 Vue3、Vite 和 SCSS 实现一键换肤的魔法步骤
  • 基于redis实现用户登陆
  • 【Python爬虫实战】抓取省市级城市常务会议内容
  • 基于VUE3搭建项目步骤
  • Threejs之场景标注标签信息CSS2DRenderer
  • 数据库学习案例20240306-oracle数据库连接类故障trace
  • 9月CHINA-PUB-OPENDAY技术沙龙——IPHONE
  • JS 中的深拷贝与浅拷贝
  • 【跃迁之路】【641天】程序员高效学习方法论探索系列(实验阶段398-2018.11.14)...
  • Debian下无root权限使用Python访问Oracle
  • flask接收请求并推入栈
  • hadoop集群管理系统搭建规划说明
  • JavaScript的使用你知道几种?(上)
  • JSDuck 与 AngularJS 融合技巧
  • Js基础知识(四) - js运行原理与机制
  • php的插入排序,通过双层for循环
  • Python_网络编程
  • Theano - 导数
  • vue2.0项目引入element-ui
  • Vue官网教程学习过程中值得记录的一些事情
  • 阿里中间件开源组件:Sentinel 0.2.0正式发布
  • 表单中readonly的input等标签,禁止光标进入(focus)的几种方式
  • 码农张的Bug人生 - 初来乍到
  • 实战:基于Spring Boot快速开发RESTful风格API接口
  • 详解NodeJs流之一
  • SAP CRM里Lead通过工作流自动创建Opportunity的原理讲解 ...
  • 回归生活:清理微信公众号
  • #我与Java虚拟机的故事#连载04:一本让自己没面子的书
  • $(selector).each()和$.each()的区别
  • (2/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (42)STM32——LCD显示屏实验笔记
  • (C语言)fgets与fputs函数详解
  • (LNMP) How To Install Linux, nginx, MySQL, PHP
  • (二)【Jmeter】专栏实战项目靶场drupal部署
  • (附源码)spring boot车辆管理系统 毕业设计 031034
  • (四)JPA - JQPL 实现增删改查
  • (学习日记)2024.01.09
  • (学习日记)2024.03.12:UCOSIII第十四节:时基列表
  • (转)微软牛津计划介绍——屌爆了的自然数据处理解决方案(人脸/语音识别,计算机视觉与语言理解)...
  • (转载)OpenStack Hacker养成指南
  • .net web项目 调用webService
  • .net 程序发生了一个不可捕获的异常
  • .Net 代码性能 - (1)
  • .Net 知识杂记
  • @JsonFormat与@DateTimeFormat注解的使用
  • @ModelAttribute使用详解