玩具 eps32c3 第二天

Arduino IDE 编译有点慢

更换为vscode+platformio开发,连同目录在内都规整了许多。

其中遇坑有两个

  1. platformio.ini设置问题
  2. 引导刷坏的问题

platformio.ini 设置问题

板子是合宙esp32c3简约版,usb直通。

在支持的板子库中并没有。所以要选择esp32-c3-devkitm-1

还需要添加flash modedio 这点与 Arduino中一致

出现Serial.println()不打印的情况。

添加build_flags标签。-D ARDUINO_USB_MODE = 1-D ARDUINO_USB_CDC_ON_BOOT=1

完整platformio.ini如下,初始项目可以通用。如果使用合宙0.96寸的套装可以向下看

1
2
3
4
5
6
7
8
9
[env:esp32-c3-devkitm-1]
platform = espressif32
board = esp32-c3-devkitm-1
framework = arduino
monitor_speed = 115200
board_build.flash_mode = dio
build_flags =
-D ARDUINO_USB_MODE=1
-D ARDUINO_USB_CDC_ON_BOOT=1

引导坏掉刷坏了

当出现下方问题时,重刷官方固件就可以解决了

1
A fatal error occurred: Unable to verify flash chip connection (No serial data received.).

TFT_eSPI设置覆盖

好多人的教程都是对User_Setup.h进行修改。大多没有考虑版本管理的问题。

官方文档中写明了可以在platformio.ini中设置USER_SETUP_LOADEDUser_Setup.h中的设置便不会启用。

解决包更新需要重新设置的问题。

使用的是合宙0.96寸的套装合宙ESP32-C3可以直接使用下面的设置。

设置位置在build_flags下。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
build_flags =
-D USER_SETUP_LOADED=1
-D ST7735_DRIVER=1
-D TFT_RGB_ORDER=TFT_BGR
-D TFT_WIDTH=80
-D TFT_HEIGHT=160
-D ST7735_GREENTAB160x80=1
-D TFT_INVERSION_ON=1
-D TFT_MOSI=3
-D TFT_SCLK=2
-D TFT_CS=7
-D TFT_DC=6
-D TFT_RST=10
-D TFT_BL=11
-D LOAD_GLCD=1
-D LOAD_FONT2=1
-D LOAD_FONT4=1
-D LOAD_FONT6=1
-D LOAD_FONT7=1
-D LOAD_FONT8=1
-D LOAD_GFXFF=1
-D SMOOTH_FONT=1
-D SPI_FREQUENCY=27000000

以上

这样设置git的时候就不会添加重复的包了!尤其是多个项目的时候。

esp32确实好玩,尤其是联网的情况下。