esp-idf 引入十分多的组件, 功能复杂度较大。我们可以通过 Kconfig
来进行功能选择。
类似 RTT
功能, 我们希望通过 console
打印信息,方便1调试啥的,我买的是和宙的 esp32c3
简约版, 对比标准版就是少了USB转串口芯片。USB母座是直接接到esp32c3的IO18,19上的。默认情况下,esp32c3的usb下挂载两个设备,一个是jtag, 一个是串口,
通过 probe-rs list
命令查看发现是一个 jtag
设备.
在 sdkconfig
或 menuconfig
中使能 CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG
即可通过 jtag
作为 console
#include "freertos/idf_additions.h"
#include "freertos/projdefs.h"
#include <driver/usb_serial_jtag.h>
#include <esp_log.h>
#include <stdio.h>
void app_main(void) {
int i = 0;
// 初始化串口配置
usb_serial_jtag_driver_config_t usb_serial_jtag_driver_config = {
.rx_buffer_size = 1024,
.tx_buffer_size = 1024,
};
usb_serial_jtag_driver_install(&usb_serial_jtag_driver_config);
ESP_LOGI("test: ", "USB_SERIAL_JTAG init done");
while (1) {
vTaskDelay(pdMS_TO_TICKS(500));
ESP_LOGI("test: ", "i = %d", i++);
}
}
idf.py flash
# 使用 C-] 退出监视器
idf.py monitor
好处是我们可以通过 monitor
观察运行情况了。
https://docs.espressif.com/projects/esp-idf/zh_CN/v5.4.1/esp32c3/api-reference/kconfig.html