ESP32のUSB-OTGをホストにした後、元に戻すには?
ESP-IDFを使用してESP32-S3のプログラム開発をしています。
PCとはUSB-OTGでつないでいます。USB-UARTはありません。
ESP-IDFでUSB-OTGを使用してプログラムをロードしたりログを出力したりはできています。
問題は、USB-OTGでUSBマスストレージにアクセスするため、次のようにUSBホストをインストールすると、その後アンインストールしても、PCから見えるCOMポートが消えたままとなり、USB-OTGとPCとの間の通信ができなくなってしまうことです。
const usb_host_config_t host_config = {
.intr_flags = ESP_INTR_FLAG_LEVEL1
};
ESP_ERROR_CHECK(usb_host_install(&host_config));
リセット(リブート)してもダメ、USBケーブルを挿抜してもダメ。
復旧するには、GPIO0をGNDに落としてリセットすることでESP32をダウンロードモードに遷移させるしか今のところ方法がありません。
(USB-UARTもある場合はそこを使えば良いのですが)
元の状態(COMポートでPCと通信できる状態)に戻す方法をご存じでしたら教えてください。
なお、USBマスストレージ(要はUSBメモリ)へのアクセスはC:\Espressif\frameworks\esp-idf-v5.2\examples\peripherals\usb\host\msc を参考にしていて、それは問題なくできています。