esp32 c3芯片,复用GPIO17/SPIQ、GPIO19分别对应I2C的SCL、SDA引脚(默认配置了上拉电阻),目的是与MPU6500通信,代码一执行到初始化I2C的地方芯片就自动重启:Wire.begin(I2C_SDA_PIN, I2C_SCL_PIN)


我尝试了下映射到其他引脚是正常的,发现应该是GPIO17/SPIQ的问题,只要用这个引脚,执行到Wire.begin就会触发重启。我用示波器测量过引脚,SDA持续3V3,SCL在执行begin前也都是正常3V3,执行后esp32就重启,然后引脚上出现不规律的电平信号。


不知道哪位大佬遇到过这类问题,应该如何定位解决?

我能想到的可能性:

  1. GPIO17,在esp32内部有特殊用途,无法复用?冲突了?
  2. MPU6500芯片有问题?



重启后串口日志输出:

ESP-ROM:esp32c3-api1-20210207

Build:Feb 7 2021

rst:0x8 (TG1WDT_SYS_RST),boot:0xc (SPI_FAST_FLASH_BOOT)

Saved PC:0x40380104

SPIWP:0xee

mode:DIO, clock div:2

load:0x3fcd5820,len:0x1050

load:0x403cc710,len:0x96c

load:0x403ce710,len:0x2e8c

entry 0x403cc710



原理图:


#ESP32#

#ESP32#
硬创社

还没有评论,抢个沙发!