LoginSignup
3
0

More than 1 year has passed since last update.

ESP32でI2Cを任意のピンで使用する時、引っかかった話(プルアップ抵抗)(ArduinoIDE)

Last updated at Posted at 2022-01-07

起こったこと

I2Cで使用したPINは、GPIO12,13
プルアップ抵抗をしていなかったので2.2Kのプルアップ抵抗を入れるとエラー。

シリアルモニターにこんな表示が
rst:0x10 (RTCWDT_RTC_RESET),boot:0x33 (SPI_FAST_FLASH_BOOT)
flash read err, 1000
ets_main.c 371
ets Jun 8 2016 00:22:57

エラー内容については後で。。。

原因

原因はPULLDOWN初期値のGPIOをPULLUPしたこと

ESP32のGPIOには初期値が、GPIOによって違う。

GPIOの初期値についてはLang-shipで詳しく解説してくれています(マジ、助かる)
https://lang-ship.com/blog/work/esp32-gpio/

大体はPULLUP or INPUTなのだが、所々にPULLDOWNがある。
GPIO13は初期値がPULLDOWNなのでそこでエラーがおこった。

対策

初期値がPULLUP or INPUTのGPIOに変更するといいと思います。

エラー内容

エラー内容をGOOGLEで検索をかけると、前例が出てきました。

https://bokunimo.net/blog/esp/848/

どうも不安定な電源が原因のようです。
勝手な憶測ですが、PULLDOWN初期値のGPIOをPULLUPしてしまうと、短絡した状態になるようで電源が不安定になるのかなと思います。

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0