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

GD 32 IIC通信协议

前言:


...


通信方式

通信方式分为串行通信和并行通信。常见的串口就是串行通信的方式

常用的串行通信接口

常用的串行通信方式有USART,IIC,USB,CAN总线


同步与异步

同步通信:IIC是同步通信,有两个线一个是时钟信号线,一个数数据信号线,不需要约定特定的通信频率。

异步通信:约定一个特定的频率,根据这个频率接收和解析数据,对时序的要求比较严格。

 


单工和双工

IIC总线设计成开漏输出,可以解决电路短路问题


与位运算

通0与结果是0,同1与结果是1

为什么使用开漏输出,以下是使用开漏输出的原理,开漏输出配合上拉电阻,解决短路问题


线与的概念


IIC 数据格式

主机向从机写数据

起始位和停止位:主机发送的,来控制数据什么时候开始什么时候结束

接下来是从机地址和写控制位,前7位置是地址后面一位控制是写数据还是读数据 写如数据将控制位设置为 ‘0’表示写数据

发送数据之后就是从机应答位,需要从机给一个反馈信号,主机发送数据需要从机给一个应答,从机返回数据需要主机给一个应答

主机向从机读数据

 首先是起始位:然后是从机的地址和 + 读控制位(设置为 “1” 表示主机向从机读数据)

从机接收到信号之后给主机一个应答,然后是从机返回的实际数据,主机接收到一个数据之后给一个
主机的应答,在主机接收完最后一个数据之后会跟着一个非应答位,然后是停止位

 主机先发送再接收


从机地址


高7位表示从机的地址,低一位表示从机的方向为,是用于控制方向的,1表示主机向从机读数据

0 表示主机向从机写数据。

数据的地址高7位中的前面4位是固定在芯片的内部的是没法改变的,低3位是可以改变的(可以通过硬件电路去配置)。

3 个地址线支持在一个总线上挂载8个设备也就是2的三次方


IIC 总线的实现

IIC 通信协议中SCL线是主机控制输出的,SDA信号线是主机和从机都可以控制输出,IIC总线空闲时SDA 和 SCL 都是处于高电平的状态,数据是按照字节的方式进行传输的


IIC 电器协议

IIC起始信号

IIC 停止信号

IIC 主机发送数据格式

 SCL 在高电平的时候数据不能有变化,这和时候从机读取数据

IIC 主机读取返回的数据

 从机在SCL低电平的时候将数据放到SDA线上,在主机把SCL线变为高电平的时候,从机不能改变SDA上的数据,这个时候主机获取SDA上的数据。

注:在主机接收数据之前要在主机这一侧器释放SDA也就是将IO口释放为高电平

IIC 接收应答

 IIC 发送应答 0 表示应答,1表示接收应答


存储器协议

...

相关文章:

GD 32 IIC通信协议

前言: ... 通信方式 通信方式分为串行通信和并行通信。常见的串口就是串行通信的方式 常用的串行通信接口 常用的串行通信方式有USART,IIC,USB,CAN总线 同步与异步 同步通信:IIC是同步通信,有两个线一个是时钟信号线,一个数数据…...

Spring Task初学

介绍 Spring Task 是Spring框架提供的任务调度工具,可以按照约定的时间自动执行某个代码逻辑 为什么要在Java程序中使用Spring Task? 运行效果 cron表达式:一般日和周不会同时出现 入门案例 启动类添加注解EnableScheduling开始任务调度 创建MyTask类…...

决策树可解释性分析

决策树可解释性分析 决策树是一种广泛使用的机器学习算法,以其直观的结构和可解释性而闻名。在许多应用场景中,尤其是金融、医疗等领域,模型的可解释性至关重要。本文将从决策路径、节点信息、特征重要性等多个方面分析决策树的可解释性&…...

BUGKU-WEB never_give_up

解题思路 F12查看请求和响应&#xff0c;查找线索 相关工具 base64解码URL解码Burp Suit抓包 页面源码提示 <!--1p.html--> 2. 去访问这个文件&#xff0c;发现直接跳转到BUGKU首页&#xff0c;有猫腻那就下载看看这个文件内容吧 爬虫下载这个文件 import requests …...

hive自动安装脚本

使用该脚本注意事项 安装hive之前确定机子有网络。或者yum 更改为本地源&#xff0c;因为会使用epel仓库下载一个pv的软件使用该脚本前提是自行安装好mysql数据库准备好tomcat软件包&#xff0c;该脚本使用tomcat9.x版本测试过能正常执行安装成功&#xff0c;其他版本没有测试…...

unix 用户态 内核态

在UNIX操作系统中&#xff0c;"用户态"和"内核态"是两种不同的运行模式&#xff0c;它们定义了程序在执行时的权限级别&#xff1a; 用户态&#xff08;User Mode&#xff09;&#xff1a; 用户态是程序运行的常规状态&#xff0c;大多数应用程序在执行时…...

GD32 IAP升级——boot和app相互切换

GD32 IAP升级——boot和app相互切换 目录 GD32 IAP升级——boot和app相互切换1 Keil工程设置1.1 修改ROM1.2 Keil烧录配置 2 代码编写2.1 app跳转2.2 软件重启2.3 app中断向量表偏移 结束语 1 Keil工程设置 1.1 修改ROM GD32内部Flash是一整块连续的内存&#xff0c;但是因为…...

C++11革新之旅:探索C++编程的无限可能

C11革新之旅&#xff1a;探索C编程的无限可能 C11&#xff0c;作为C语言的一个重要标准&#xff0c;为C编程带来了革命性的变革。它不仅引入了众多新特性和改进&#xff0c;还极大地增强了C的表达能力、提高了程序的性能和资源利用率。本文将从多个方面深入探讨C11的新特性&am…...

免费自动化AI视频剪辑工具

下载地址&#xff1a;https://pan.quark.cn/s/3c5995da512e FunClip是一款完全开源、本地部署的自动化视频剪辑工具&#xff0c;通过调用阿里巴巴通义实验室开源的FunASR Paraformer系列模型进行视频的语音识别&#xff0c;随后用户可以自由选择识别结果中的文本片段或说话人&a…...

Linux中安装C#的.net,创建运行后端或控制台项目

安装脚本命令&#xff1a; 创建一个sh文件并将该文件更改权限运行 sudo apt update wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb sudo dpkg -i packages-microsoft-prod.deb sudo apt-get upd…...

最长上升子序列LIS(一般+优化)

1. 题目 题目链接&#xff1a; B3637 最长上升子序列 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 输入样例&#xff1a; 6 1 2 4 1 3 4 输出样例&#xff1a; 4 说明/提示&#xff1a; 分别取出 1、2、3、4 即可。 2. 具体实现 2.1 一般做法 dp[i]表示第i个位置的…...

【Python系列】Python 协程:并发编程的新篇章

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…...

详解C/C++输入输出

前言 C/C输入输出很多&#xff0c;在不同的情况会用不同的输入输出&#xff0c;有的题目在输入时可能换一种输入输出就能不会TLE&#xff0c;有的输入可能要循环输入&#xff0c;但是可以换一种输入直接就能把所有数据输入进去。C/C有哪些常用的输入输出&#xff0c;在什么时候…...

AI人工智能开发环境配置

AI人工智能 为什么使用Python来开发AI 人工智能被认为是未来的趋势技术。 已经有了许多应用程序。 因此&#xff0c;许多公司和研究人员都对此感兴趣。 但是这里出现的主要问题是&#xff0c;在哪种编程语言中可以开发这些 AI 应用程序&#xff1f; 有各种编程语言&#xff0c…...

Tomcat 8.5 下载、安装、启动及各种问题

&#x1f970;&#x1f970;&#x1f970;来都来了&#xff0c;不妨点个关注叭&#xff01; &#x1f449;博客主页&#xff1a;欢迎各位大佬!&#x1f448; 本期内容主要介绍 Tomcat 8 的安装&#xff0c;以及可能会遇到的问题 文章目录 1. Tomcat 安装2. 可能会遇到的问题2.…...

Harbor系列之5:复制管理

Harbor的镜像复制功能 Harbor 提供镜像复制功能&#xff0c;允许用户以推送和拉取方式在不同 Harbor 仓库之间&#xff0c;以及 Harbor 与非 Harbor 仓库间&#xff08;如Alibaba ACR、Quay、Aws ECR、Azu热ACR、Docker Registry、Docker Hub等&#xff09;复制 image、chart …...

V.PS德国VPS详细测评

V.PS的德国机房位于法兰克福&#xff0c;默认接入电信CN2 GIA、联通CUII网络&#xff0c;针对中国大陆进行路由优化处理的。而且是强制移动走联通的CUII链路&#xff0c;确保三网都处在轻负载的网络环境下。 CPU是Intel Xeon Gold 6133 &#xff0c;启用了BBR&#xff0c;归属德…...

【Vue3】组件通信之自定义事件

【Vue3】组件通信之自定义事件 背景简介开发环境开发步骤及源码总结 背景 随着年龄的增长&#xff0c;很多曾经烂熟于心的技术原理已被岁月摩擦得愈发模糊起来&#xff0c;技术出身的人总是很难放下一些执念&#xff0c;遂将这些知识整理成文&#xff0c;以纪念曾经努力学习奋…...

[CTF]-PWN:ORW题型综合解析

经典ORW&#xff1a; 例题&#xff08;极客大挑战 2019 Not Bad&#xff09;&#xff1a; 这里使用mmap函数创造了一个内存映射区域 从地址0x123000开始&#xff0c;大小位0x1000 权限为可写可执行&#xff08;可读0x1&#xff0c;可写0x2&#xff0c;可执行0x3&#xff09;…...

VSCode中yarn的安装和使用

VSCode只要是做前端的&#xff0c;大家都不陌生&#xff0c;就不讲其使用了。 Yarn是一款高效、可靠的JavaScript包管理器&#xff0c;与NPM类似&#xff0c;但有其独特的优势&#xff0c;如更高效的安装速度、更好的依赖管理等 要在VSCode中使用Yarn&#xff0c;‌需要按照以…...

Java后端面试复习7.23

进程和线程线程优先级线程状态线程构造方式三种推荐用哪种为什么线程中断调用什么方法&#xff0c;本线程怎检查为什么线程不应强制停止线程通信方式四种ThreadLocalFUtureTask线程礼让终止线程的另一个缺陷&#xff08;锁&#xff09;守护线程什么时候设置为守护县城sleep&…...

Arduino PID库 (2) –微分导致的过冲

Arduino PID库 &#xff08;2&#xff09; – Derivative Kick 参考&#xff1a;手把手教你看懂并理解Arduino PID控制库——微分冲击 pid内容索引-CSDN博客 Arduino PID库 &#xff08;1&#xff09;– 简介 问题 此修改将稍微调整derivative term。目标是消除一种称为“…...

基于强化学习算法玩CartPole游戏

什么事CartPole游戏 CartPole&#xff08;也称为倒立摆问题&#xff09;是一个经典的控制理论和强化学习的基础问题&#xff0c;通常用于测试和验证控制算法的性能。具体来说&#xff0c;它是一个简单的物理模拟问题&#xff0c;其目标是通过在一个平衡杆&#xff08;倒立摆&a…...

uniapp0基础编写安卓原生插件和调用第三方jar包(Ch34的jar包)和如何解决android 如何Application初始化

前言 我假设你会uniapp安卓插件开发了,如果不会请看这篇文章,这篇文章是0基础教学。 这篇文章我们将讲一下如何使用CH34XUARTDriver.jar进行开发成uniapp插件。 它的难点是:uniapp如何Application初始化第三方jar包 先去官网下载CH340/CH341的USB转串口安卓免驱应用库:h…...

使用Leaflet进行船舶航行警告区域绘制实战

目录 前言 一、坐标格式转换 1、数据初认识 2、将区域分割成多个点 3、数据转换 4、数据转换调用 二、WebGIS展示空间位置信息 1、定义底图 2、Polygon的可视化 3、实际效果 三、总结 前言 通常而言&#xff0c;海事部门如海事局&#xff0c;通常会在所述的管辖区域内…...

用Ollama 和 Open WebUI本地部署Llama 3.1 8B

说明&#xff1a; 本人运行环境windows11 N卡6G显存。部署Llama3.1 8B 简介 Ollama是一个开源的大型语言模型服务工具&#xff0c;它允许用户在自己的硬件环境中轻松部署和使用大规模预训练模型。Ollama 的主要功能是在Docker容器内部署和管理大型语言模型&#xff08;LLM&…...

计算机毕业设计选题推荐-学生作业管理系统-Java/Python项目实战

✨作者主页&#xff1a;IT研究室✨ 个人简介&#xff1a;曾从事计算机专业培训教学&#xff0c;擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…...

RIP实验

实验拓扑&#xff1a; 实验要求&#xff1a; R1-R2-R3-R4-R5&#xff1a;RIP 100 运行版本2 R6-R7&#xff1a;RIP 200 运行版本1 1.使用合理IP地址规划网络&#xff0c;各自创建环回接口 2.R1创建环回 172.16.1.1/24 172.16.2.1/24 172.16.3.1/24 3.要求R3使用R2访问R1环…...

手把手教你如何在宝塔上添加可道云登录页面的ICP备案信息,别跟权威开玩笑。

如何在宝塔上添加可道云登录页面的ICP备案信息 事情的原由来我们开始吧首先登录你的宝塔页面双击打开index.php文件保存退出即可 感谢大佬&#xff0c;希望对被查到的朋友有所帮助&#xff01; 事情的原由 今天突然收到腾讯云发来的一封Email&#xff0c;说我需要整改我的网站…...

基于JSP技术的大学生校园兼职系统

你好呀&#xff0c;我是计算机学姐码农小野&#xff01;如果有相关需求&#xff0c;可以私信联系我。 开发语言&#xff1a;JSP 数据库&#xff1a;MySQL 技术&#xff1a;JSPJavaBeans 工具&#xff1a;MyEclipse&#xff0c;Tomcat&#xff0c;Navicat 系统展示 首页 学…...

广州 美容 公司 网站建设/企业员工培训课程

文章目录 1 概述2 厂商分类1 概述 前文简述了医院信息化的一些常见的软件系统,那么接下来要讲述目前国内的一些厂商。由于医院信息化软件系统算是技术含量不高(除开大数据科研一块以及医疗设备),这里医院信息化软件指的大多还是前文所说的软件。门槛较低,甚至出现某些免费…...

仁怀哪儿做网站/企业微信营销系统

对象 在大多数人的眼里&#xff0c;js是一门面向对象(Object-Oriented)的语言&#xff0c;但是它与其他的语言比如c,java 这些面向对象语言 略有不同。!!!艹&#xff0c;说人话那问几个问题吧&#xff1a; 1.你知道js中对象的定义是什么吗&#xff1f;答: 不就是一个散列表嘛~ …...

微信公众号可以做网站嘛/抖音网络营销案例分析

在使用一批socks5带用户名和密码的代理的时候需要用到urllib这个python库 # https://pypi.org/project/PySocks/ import urllib import socks import socket # from urllib import request from urllib.error import URLError username "username" password "…...

wordpress怎么上传php/站长工具站长之家

TOCProgressBar(进度条)-UI组件-Android常用属性属性名说明android:max&#xff1a;进度条的最大值android:progress&#xff1a;进度条已完成进度值android:progressDrawable&#xff1a;设置轨道对应的Drawable对象android:indeterminate&#xff1a;如果设置成true&#xff…...

哪个网站做生鲜配送/百度小说排行榜风云榜单

描述我们定义一个字符串的后缀suffix(i)表示从s[i]到s[length(s)]这段子串。后缀数组&#xff08;Suffix array&#xff09;SA[i]中存放着一个排列&#xff0c;满足suffix(sa[i])<suffix(sa[i1]) 按照字典序方式比较定义height[i]表示suffix(sa[i])与suffix(sa[i-1])之间的最…...

h5微信网站建设/最佳磁力吧cili8

假如p是质数&#xff0c;且gcd(a,p)1&#xff0c;那么 a^(p-1)≡1&#xff08;mod p&#xff09; 也就是a^(p-1) %p1 据说它是欧拉定理的一种特殊情况&#xff0c;也就是 比较神奇&#xff0c;据说很出名很出名很出名 先回顾一下乘法逆元 x的最小整数解称为a模m的逆元 如果这个…...