一部のプロジェクトコードがコンパイルに失敗する?¶
Q1: 'ledcAttach' was not declared in this scope¶
LED、RGB LED、またはパッシブブザーを使用する場合、ESP32ボードの LEDC ペリフェラルがPWM信号を生成する必要があります。しかし、ESP32ボードは最近バージョン3.0にアップグレードされ、LEDC ペリフェラル内の関数名と使用方法が変更されました。
そのため、コードを対応して更新しました。コンパイル中にledc関連の問題が発生した場合は、ESP32ボードのバージョンを3.0以上にアップグレードしてください。
Q2: ESP32をバージョン3.0にアップグレードした後、BluetoothおよびIR受信機関連のプロジェクトでエラーが発生する?¶
ESP32ボードはバージョン3.0にアップグレードされましたが、BluetoothおよびIR受信機関連のプロジェクトで使用されているライブラリはまだバージョン3.0と互換性がありません。
これらのプロジェクトを実行するには、一時的にESP32のバージョンを2.0、具体的にはバージョン2.0.17にダウングレードすることをお勧めします。
これらのライブラリの更新を継続的に監視し、ESP32バージョン3.0と互換性がある場合は、迅速にコードとドキュメントを更新します。
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)ことを試してください。