ESP32-C3의 또다른 특징중 하나로 USB지원 한다.
처음에는 USB 풀스펙을 지원하는줄 알았는데 자세히 보면 USB Serial/JTAG 만 지원 한다고 한다. 약간 아쉬움이 있긴 한데 아무튼 ESP32-C3의 USB Seral(USB CDC) 테스트를 해 보자.
ESP32-C3 메뉴에서 USB CDC On Boot 를 Enabled로 설정해야 한다.
이후 Serial 은 USB CDC로 출력 하게 된다.
Arduino main 코드를 보면 USB 옵션에 따라 USB CDC가 Serial 으로 설정이 되는것을 확인 할 수 있다.
extern "C" void app_main()
{
#if ARDUINO_USB_CDC_ON_BOOT
Serial.begin();
#endif
#if ARDUINO_USB_MSC_ON_BOOT
MSC_Update.begin();
#endif
#if ARDUINO_USB_DFU_ON_BOOT
USB.enableDFU();
#endif
#if ARDUINO_USB_ON_BOOT
USB.begin();
#endif
loopTaskWDTEnabled = false;
initArduino();
xTaskCreateUniversal(loopTask, "loopTask", getArduinoLoopTaskStackSize(), NULL, 1, &loopTaskHandle, ARDUINO_RUNNING_CORE);
}
ESP32-C3 펌웨어 업로드 방법도 USB CDC로 할수 있다. 이경우 USB UART없이 펌웨어 업로드를 할수 있어 편리한 기능인것 같다.
반응형