前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ESP32-I2C-Arduino

ESP32-I2C-Arduino

作者头像
云深无际
发布2020-12-15 18:02:17
2.6K0
发布2020-12-15 18:02:17
举报
文章被收录于专栏:云深之无迹云深之无迹

I2C (Inter-Integrated Circuit) 总线用于使 ESP32 和多个外部设备进行通信。多个外部设备可以共用一个 I 2C 总 线。

I 2C 具有以下几个特点。

? 支持主机模式以及从机模式

? 支持多主机多从机通信

? 支持标准模式 (100 kbit/s)

? 支持快速模式 (400 kbit/s)

? 支持 7-bit 以及 10-bit 寻址

? 支持关闭 SCL 时钟实现连续数据传输

? 支持可编程数字噪声滤波功能

i2C 是一个两线总线,由 SDA 线和 SCL 线构成。这些线设置为漏极开漏输出。因此,I2C 总线上可以挂载多个 外设,通常是和一个或多个主机以及一个或多个从机。主机通过总线访问从机。 主机发出开始信号,则通讯开始:在 SCL 为高电平时拉低 SDA 线,主机将通过 SCL 线发出 9 个时钟脉冲。前 8 个脉冲用于按位传输,该字节包括 7-bit 地址和 1 个读写位。如果从机地址与该 7-bit 地址一致,那么从机可 以通过在第 9 个脉冲上拉低 SDA 线来应答。接下来,根据读/写标志位,主机和从机可以发送/接收更多的数据。 根据应答位的逻辑电平决定是否停止发送数据。在数据传输中,SDA 线仅在 SCL 线为低电平时才发生变化。当 主机完成通讯,回发送一个停止标志:在 SCL 为高电平时,拉高 SDA 线。

ESP32 I2C 控制器可以处理 I2C 协议,腾出处理器核用于其它任务。

这里用的是,TT扩展件

代码语言:javascript
复制
项目使用了 223345 字节,占用了 (17%) 程序存储空间。最大为 1310720 字节。
全局变量使用了16132字节,(4%)的动态内存,余留311548字节局部变量。最大为327680字节。
esptool.py v2.6
Serial port COM5
Connecting....
Chip is ESP32D2WDQ5 (revision 1)
Features: WiFi, BT, Dual Core, Embedded Flash, VRef calibration in efuse, Coding Scheme None
MAC: b4:e6:2d:80:e8:45
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 921600
Changed.
Configuring flash size...
Auto-detected Flash size: 2MB
Compressed 8192 bytes to 47...

Writing at 0x0000e000... (100 %)
Wrote 8192 bytes (47 compressed) at 0x0000e000 in 0.0 seconds (effective 10923.0 kbit/s)...
Hash of data verified.
Flash params set to 0x021f
Compressed 15856 bytes to 10276...

Writing at 0x00001000... (100 %)
Wrote 15856 bytes (10276 compressed) at 0x00001000 in 0.1 seconds (effective 1048.3 kbit/s)...
Hash of data verified.
Compressed 223456 bytes to 115390...

Writing at 0x00010000... (12 %)
Writing at 0x00014000... (25 %)
Writing at 0x00018000... (37 %)
Writing at 0x0001c000... (50 %)
Writing at 0x00020000... (62 %)
Writing at 0x00024000... (75 %)
Writing at 0x00028000... (87 %)
Writing at 0x0002c000... (100 %)
Wrote 223456 bytes (115390 compressed) at 0x00010000 in 1.6 seconds (effective 1118.7 kbit/s)...
Hash of data verified.
Compressed 3072 bytes to 118...

Writing at 0x00008000... (100 %)
Wrote 3072 bytes (118 compressed) at 0x00008000 in 0.0 seconds (effective 3510.9 kbit/s)...
Hash of data verified.

Leaving...
Hard resetting via RTS pin...

选择对应的TT扩展件

这个安装的器件包在文档内

也就是说,你不管装多少Arduino,库装一次就好

这个地方有一个编译的错误,我要提交一次合并代码

本文参与?腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-12-09,如有侵权请联系?cloudcommunity@tencent.com 删除

本文分享自 云深之无迹 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com