我看了很多网上的解释,都是先官方的说明I2C协议,再潦草的给出不完整的程序,导致你们又看不懂I2C原理又调试不出程序,所以我这篇文章先专门针对程序,先使你们的程序调试成功,再利用仿真或其他方式回去理解I2C的原理!我自己就是这么来的,所以把这种方法推荐给你们! 潦草的说明一下先,不懂不要紧!!! I2C 有四条连接线,SCL、SDA、VCC、GN
转载
2024-06-30 10:27:21
298阅读
ESP32语音播报 MP3播放存储方法ESP32语音播报MP3播放的存储方法介绍存储实现文件合并烧录位置映射与注意事项测试 ESP32语音播报MP3播放的存储方法介绍在实际项目中,往往需要产品能具有语音提示功能,这样可以带来很好的产品体验。 ESP实现语音提示可以使用wav未压缩的音频格式直接播放,但此种方法需要占用大量的FLASH存储空间,而使用MP3格式的音频则只需要很少的FLASH空间,如
转载
2024-02-25 12:48:13
254阅读
概述I2C 是一种串行同步半双工通信协议,总线上可以同时挂载多个主机和从机。I2C 总线由串行数据线 (SDA) 和串行时钟线 (SCL) 线构成。这些线都需要上拉电阻。I2C 具有简单且制造成本低廉等优点,主要用于低速外围设备的短距离通信(一英尺以内)。ESP32 有两个 I2C 控制器(也称为端口),负责处理在 I2C 两根总线上的通信。每个控制器都可以设置为主机或从机。例如,可以同时让一个控
转载
2024-04-25 21:38:03
294阅读
目前这个库支持两路,也就是四个引脚,后续有空还可能扩展一下。使用方法:每个函数都有SDA_Channel和SCL_Channel两个参数,对应引脚编号。而GPIO的端口则通过宏定义设定。举例:#define SDA_GPIO GPIOA
#define SCL_GPIO GPIOAIIC_Start(0,1); //发送IIC开始信号则代表这个IIC的起
物理层:(1) 它是一个支持多设备的总线。“总线”指多个设备共用的信号线。在一个 I2C 通讯总 线中,可连接多个 I2C 通讯设备,支持多个通讯主机及多个通讯从机。(2) 一个 I2C 总线只使用两条总线线路,一条双向串行数据线(SDA) ,一条串行时钟线(SCL)。数据线即用来表示数据,时钟线用于数据收发同步。(3) 每个连接到总线的设备都有一个独立的地址,主机可以利用这个地址进行不同设备之间
最近使用 ESP32-C3 跑了下 softAP demo,阅读了 demo 源码及跑过 demo 之后,脑海中不禁有以下几个疑问:ESP32-C3 作为 SoftAP 时,默认的 IP 地址为 192.168.4.1,如何修改默认的 IP 地址?ESP32-C3 作为 SoftAP 时,有 Station 连接上了之后,如何获取 SoftAP 分配给这个 Station 的 IP 地址 ?笔者认
转载
2024-05-18 14:55:37
666阅读
接下来我对所用的模块以及小车的硬件部分做一个讲解 小车的总体效果图如下: 首先是模块简介: &nb
作者:陈显达引言工作了五六年,一直都是以软件为主,期间也是各个方向都玩,移动端,PC端,网页端,后面在去年西安疫情的那一个月,突然觉得硬件也有很多可玩之处,相比于软件,看得见摸得着的东西可能更容易令人接受,做出成品也更容易有成就感,所以在那段时间我就去研究了一下树莓派,然后当时用node还有c#操控树莓派来进行和传感器等电子元器件进行交互,感兴趣的可以看看我之前的文章C#控制树莓派入门 - 四处观
由于ESP32-C3只有一条硬件I2C总线,然而我的程序中需要同时要两条I2C总线,所以不得不考虑同时使用硬件I2C和软件I2C。硬件I2C作为Slave用于与上位机通信,效率比较高,代码也简单,本篇不做详细介绍。本篇重点介绍软件I2C方式驱动VL53L0X,其他I2C设备可参考。前面有篇文章写到了I2C总线驱动VL53L0X,这篇我们再深入点。本文的I2C均是Wire模式使用。软件I2C只能作为
转载
2024-07-05 09:10:08
400阅读
ESP32开发板控制OLED显示屏相关知识点 I2C总线是用于设备之间通信的双线协议,在物理层上,它由两根线组成:SCL和SDA,分别是时钟线和数据线。 I2C对象使用特定的总线创建,可以在被创建时就初始化,也可以稍后再初始化。可以通过print I2C对象来查看相关的配置。方法说明machine.I2C(id=-1, *, scl, sda, freq=400000)构造方法,返回一个I2C对象
转载
2024-03-15 20:27:19
530阅读
I2c学习笔记I2C总线通信过程起始信号和停止信号起始信号:停止信号字节传送与应答同步信号经典I2C时序 I2C总线通信过程1. 主机发送一个起始信号启用总线2. 主机发送一个字节数据,表示从机地址和数据发送方向(字节中前七位确定从机地址。最后一位确定发送器和接收器,0表示主机为发送器,从机为接收器;1表示从机为发送器,主机位接收器)3. 被寻址的从机发送一个应答信号,建立通讯4. 发送器发送一
转载
2024-05-13 20:51:50
73阅读
上拉电阻和下拉电阻有什么用?1、提高驱动能力:例如,用单片机输出高电平,但由于后续电路的影响,输出的高电平不高,就是达不到VCC,影响电路工作。所以要接上拉电阻。下拉电阻情况相反,让单片机引脚输出低电平,结果由于后续电路影响输出的低电平达不到GND,所以接个下拉电阻。2、钳位上拉就是将不确定的信号通过一个电阻钳位在高电平,电阻同时起限流作用。下拉同理,也是将不确定的信号通过一个电阻钳位在低电平&n
先随便写写一些思路, 以后再整理. 这段时间笔者做了一些硬件开发, 领悟了一些事情. 1 - 在常规创客的角度上, 硬件开发所需的知识面比较广, 非常广, 但不算太深. 2 - 发现硬件开发由于其特殊环境的原因, 开发难度很大, 难度绝大部分来源于很麻烦, 效率很低. 一般的开发者, 如果他们入门就直接学硬件, 他们是感觉不到这问题的. 没有对比
VL53L0X是TOF(Time Of Flight)传感器,字面上就是测量光线(激光)传播(飞行)的时间,来计算传感器到障碍物之间的距离的,就是下面这个小东西。 记录Arduino下使用它的几个要点。一、所使用的库有现成的库,库中搜索VL53L0X能找出来第三方的库(Vl53L0X by Pololu)。库写的挺好的,基本就是拿来就能用的那种。二
转载
2024-06-18 12:57:33
433阅读
I2C总线为什么要接上拉电阻1、根据I2C总线规范,总线空闲时两根线都必须为高; 这是规定,动不了的,不然什么叫标准呢?其实所谓的这个神圣的标准也并不是多么邪乎,你想啊,只有是高的才能拉成低的,难道谁可以把低的拉成高的吗?所以这是之所以规定空闲时必须为高的一个原因,要是保持“低”的话,那是不可能成为“多主”总线的。2、上拉电阻的问题; 其实各个I2C接口工作时只检测高、低电平,管你有没有什么上拉电
转载
2024-10-07 09:20:35
262阅读
上拉是将不确定信号通过一个电阻钳位在高电平,电阻同时限流作用;下拉是将不确定信号通过一个电阻钳位在低电平。即,电路中加上拉电阻或下拉电阻的目的是确定某个状态电路中的高电平或低电平。1、上、下拉电阻的作用简单来说,电源到器件引脚上的电阻叫上拉电阻,作用是平时使用该引脚为高电平;地到器件引脚的电阻叫下拉电阻,作用是平时使该引脚为低电平。对于非集电极(或漏极)开路输出型电路(如普通门电路,其提升电流和电
一、概述 I2C 通讯协议(Inter-Integrated Circuit)是由 Phiilps 公司开发的,由于它引脚少,硬件实现简单,可扩展性强,不需要 USART、CAN 等通讯协议的外部收发设备,被广泛地使用在系统内多个集成电路(IC)间的通讯。 I2C总线由数据线SDA和时钟线S
转载
2024-04-03 08:55:26
590阅读
ESP32-C6说明CPU 内存和存储采用RISC-V 32 位单核处理器,时钟频率高达 160 MHz内置400 KB SRAM(16 KB for Cache)384 KB ROM支持多个外部 SPI、Dual SPI、Quad SPI、QPI flashWIFI2.4 GHz Wi-Fi 6 协议 (802.11ax),并向下兼容 802.11 b/g/nESP32-C6 支持 802.11
转载
2024-08-01 12:47:22
72阅读
IIC(Inter-Integrated Circuit)又称I2C(习惯读“I方C”),是IICBus简称,中文名为集成电路总线,它是一种串行通信总线,使用多主从架构,由飞利浦公司在1980年代为了让主板、嵌入式系统或手机用以连接低速周边设备而发展。适用于IC间的短距离数据传输。最初的IIC通信速率只有100Kbps(12.5KB/s),后来又发展到400Kbps(50KB/s),再后来发展到1
前言提示:全新低成本 IoT 芯片 ESP32-C3,成本对标 ESP8266,可 pin to pin 兼容 ESP8266 模组;继承 ESP32 成熟软件架构,搭载 RISC-V 处理器。支持 Wi-Fi + Bluetooth LE 5.0 400 KB SRAM + 384 KB ROM 睡眠状态电流低至 5 μA提示:2014 和 2016 年分别面市了 ESP8266 和 ESP32
转载
2024-03-24 12:29:53
38阅读