ESP32-S3使用Arduino编程时可以直接使用USB连接。不用使用USB-UART的芯片进行转换。非常方便。但有些软开关还是要注意。下面来说一下使用USB直接连接串口并下载程序及使用串口。
连接USB
要在下载程序时使用USB,选择Upload Mode: UART0/Hardware CDC
还要注意,USB mode也要选择Hardware CDC and JTAG.
这样就可以下载程序了。
使用USB
我们在程序中按照常规使用Serial端口输入和输出,如果直接连接了USB,没有使用UART0的话,可以在程序设置中进行设置,这样就可以把USB口作为串口使用,方法是USB CDC on boot来设置,将该选项设置成Enable就可以了。
程序
if ( x == 'p')
{
Serial.println("The boolean state");
{
Serial.print("runForward = "); Serial.println(runForward);
Serial.print("runBackward = "); Serial.println(runBackward);
Serial.print("mStop = "); Serial.println(mStop);
Serial.print("motorLU = "); Serial.println(digitalRead(motorLU));
Serial.print("motorLD = "); Serial.println(digitalRead(motorLD));
Serial.print("motorRU = "); Serial.println(digitalRead(motorRU));
Serial.print("motorRD = "); Serial.println(digitalRead(motorRD));
Serial.print("Motor speed = ");
Serial.println(motorSpeed);
Serial.print("Motor current = ");
Serial.println(motorCurrent);
Serial.print("Position = "); Serial.println(enPosition);
Serial.print("dSpeed = "); Serial.println(dSpeed);
}
}
输出:
不用对串口做任何改动就可以输出。
总结
ESP32的USB直接编程确实非常方便。在这里看到了JTAG的功能还要继续挖掘。
后记
昨天网友问关于下载的情况。好长时间没有用ESP32-S3的板子了。介绍一下心得:
- 要选对板子,要选S3的板子,硬件和软件一致。
- 版本,我的软件的版本是Arduino 1.8.19, 现在有更高的版本。还可与直接看库程序。但我的不行。
- 选择按我上面的选择就行,注意,USB要通过IO19和IO20连接,IO19接D-, IO20接D+. 有这个连接了才可以和USB连接。
- 串口默认是常规的Serial就可以,直接当Serial使用就行。接线图如下:
程序如下:
void setup()
{
Serial.begin(115200);
Serial.println("COM 0 setup OK!");
}
void loop()
{
Serial.println("OUTPUT from Serial");
delay(1000);
}
结果:
串口自动安装了:
其他没有再新鲜的东西了,希望可以帮到大家。