由于ESP32-C3只有一条硬件I2C总线,然而我的程序中需要同时要两条I2C总线,所以不得不考虑同时使用硬件I2C和软件I2C。硬件I2C作为Slave用于与上位机通信,效率比较高,代码也简单,本篇不做详细介绍。本篇重点介绍软件I2C方式驱动VL53L0X,其他I2C设备可参考。
前面有篇文章写到了I2C总线驱动VL53L0X,这篇我们再深入点。
本文的I2C均是Wire模式使用。软件I2C只能作为master使用。
本人水平有限,以下骚操作仅做参考。
一、软件I2C总线库
arduino下搜索SoftI2CMaster能搜索到一个库:
其在github的链接地址如下: