一部のプロジェクトコードがコンパイルに失敗する?

Q1: 'ledcAttach' was not declared in this scope

LED、RGB LED、またはパッシブブザーを使用する場合、ESP32ボードの LEDC ペリフェラルがPWM信号を生成する必要があります。しかし、ESP32ボードは最近バージョン3.0にアップグレードされ、LEDC ペリフェラル内の関数名と使用方法が変更されました。

そのため、コードを対応して更新しました。コンパイル中にledc関連の問題が発生した場合は、ESP32ボードのバージョンを3.0以上にアップグレードしてください。

../_images/version_3.0.3.png

Q2: ESP32をバージョン3.0にアップグレードした後、BluetoothおよびIR受信機関連のプロジェクトでエラーが発生する?

ESP32ボードはバージョン3.0にアップグレードされましたが、BluetoothおよびIR受信機関連のプロジェクトで使用されているライブラリはまだバージョン3.0と互換性がありません。

これらのプロジェクトを実行するには、一時的にESP32のバージョンを2.0、具体的にはバージョン2.0.17にダウングレードすることをお勧めします。

これらのライブラリの更新を継続的に監視し、ESP32バージョン3.0と互換性がある場合は、迅速にコードとドキュメントを更新します。

../_images/version_2.0.17.png

Q3: 「Wrong boot mode detected (0x13)」エラーがESP32ファームウェアのフラッシュ時に発生する

ThonnyでESP32ファームウェアをフラッシュする際、またはArduino IDEでESP32にコードをアップロードする際に、次のようなエラーが発生することがあります:

A fatal error occurred: Failed to connect to ESP32: Wrong boot mode detected (0x13)! The chip needs to be in download mode.

このエラーはESP32ボードのハードウェア不良を示しているわけではありません。 この問題は、コンピュータがフラッシュ処理中にESP32を自動的に**ダウンロードモード**へ切り替えることに失敗した場合に発生することがあります。

原因

ESP32は、ファームウェアを正常にフラッシュするために**ダウンロードモード**である必要があります。 一部の環境では、USBドライバのタイミング差、USBポートの挙動、またはOSによるDTR/RTS信号の処理方法により、自動ダウンロードトリガがうまく機能しないことがあります。 その結果、ESP32が通常の実行モードのままとなり、フラッシュに失敗します。

解決方法

このエラーが発生した場合は、以下の手順で手動でダウンロードモードに入ることができます:

  • ボタンを使用する(BOOT + EN/RST): 「BOOT」ボタンを押し続けながら「EN」(または「RST」)ボタンを短く押し、その後「BOOT」を離します。 これにより、ESP32がダウンロードモードに入ります。

  • ジャンパーワイヤを使用する: 「GPIO0」を「GND」にジャンパーワイヤで接続し、「EN」ボタンを押す(または電源を入れ直す)ことでダウンロードモードに入ります。 フラッシュ後はジャンパーワイヤを取り外して通常起動できるようにします。

注意点

  • 必ず**データ通信可能なUSBケーブル**(充電専用ではない)を使用してください。

  • 問題が続く場合は、USBポートを変更する、USB-シリアルドライバを更新する、またはボーレートを下げる(例: 115200)ことを試してください。