在淘宝上买了一款ESP32C3 mini板,想用它显示OLED屏幕,但却发现显示帧率太低了,此时ESP32C3 mini板的cpu频率为160mhz。
void MenuShow(U8G2_SSD1306_128X64_NONAME_F_SW_I2C& myoled){
myoled.clearBuffer();
myoled.setCursor(50,20);
myoled.printf("%d",millis()-t);
t = millis();
myoled.sendBuffer();
}
最后发现一帧屏幕居然要花费450ms!一开始我还以为是软件问题,在网上没有找到答案。最后想着是不是硬件问题,于是我把一摸一样的代码烧进了esp8266中,发现速度提高了很多。
在cpu频率为80mhz时,屏幕刷新频率为185ms左右。
于是我又尝试把cpu频率提高到160mhz,屏幕刷新频率为115ms左右。
最后,初步排除是软件的问题,但是还是不明白为什么esp32c3迷你板在执行相同代码时,要比esp8266慢这么多。