最近我在使用 ESP32 P4 时遇到了一个奇怪的问题,经过简化,代码如下:
class Ch346 {
public:
Ch346() {};
uint8_t WriteData() {
for (int i = 0; i < 512; i++) {
Serial.println(i);
}
}
};
Ch346 MyCh346;
void setup() {
Serial.begin(115200);
delay(2000);
Serial.println("Start");
}
void loop() {
if (Serial.available()) {
char c = Serial.read();
if (c == '1') {
Serial.println("Input 1");
MyCh346.WriteData();
Serial.println("Input 1 Complete");
}
}
}
运行之后,打开串口输入1 然后应该得到 0-511的值,上述代码在Leonardo 板子上上没问题,但是不知道为什么在 ESP32 S3 P4上会一直输出:

===========================================================
有兴趣的朋友可以先思考一下,具体解析在下面: