当前位置: 首页 > news >正文

配置USB CDC功能实现通过USB口的串口输入功能

一、配置 menuconfig

运行:

idf.py menuconfig

检查以下配置:

Component config → ESP System Settings → Channel for console output → USB Serial/JTAG Controller

或者直接修改 sdkconfig 文件,确保有以下配置:

CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG=y
CONFIG_ESP_CONSOLE_SECONDARY_USB_SERIAL_JTAG=y
二、编译和测试
idf.py build
idf.py -p /dev/ttyACM0 flash monitor
三、测试相关代码
void start_serial_console(void)
{// 启动USB控制台任务xTaskCreate(usb_console_task, "usb_console", 4096, NULL, 5, NULL);
}static void usb_console_task(void *arg)
{ESP_LOGI(TAG, "Starting USB console task");// 初始化USB串口JTAG驱动usb_serial_jtag_driver_config_t usb_jtag_config = {.tx_buffer_size = 512,.rx_buffer_size = 512,};esp_err_t ret = usb_serial_jtag_driver_install(&usb_jtag_config);if (ret != ESP_OK && ret != ESP_ERR_INVALID_STATE) {ESP_LOGE(TAG, "Failed to install USB serial jtag driver: %s", esp_err_to_name(ret));vTaskDelete(NULL);return;}printf("\n========================================\n");printf("USB Serial Console Ready\n");printf("Type 'help' for available commands\n");printf("========================================\n");printf("esp32> ");char line_buffer[256];int line_index = 0;while (1) {// 从USB串口读取数据uint8_t buf[128];int len = usb_serial_jtag_read_bytes(buf, sizeof(buf) - 1, pdMS_TO_TICKS(100));if (len > 0) {for (int i = 0; i < len; i++) {char c = buf[i];// 处理回车和换行if (c == '\r') {continue; // 忽略回车}if (c == '\n') {// 执行命令if (line_index > 0) {line_buffer[line_index] = '\0';printf("\n");handle_command(line_buffer);line_index = 0;printf("esp32> ");}} else if (c == 0x08 || c == 0x7F) { // 退格键if (line_index > 0) {line_index--;printf("\b \b"); // 回退并清除字符}} else {// 普通字符if (line_index < sizeof(line_buffer) - 1) {line_buffer[line_index++] = c;printf("%c", c); // 回显字符}}}}vTaskDelay(pdMS_TO_TICKS(10));}vTaskDelete(NULL);
}

http://www.dtcms.com/a/496943.html

相关文章:

  • 营销型平台网站建设万网站底部添加备案号
  • 济宁公司做网站在线销售网站设计文献
  • 河南焦作有做网站开发的公司吗网站备案取消前置审批
  • mvc4做网站五免费网站怎么做
  • 无法访问此网站是什么原因2345网址大全浏览器
  • 网站域名查询ip电子商务网站建设与管理课后习题
  • 做网站必须购买空间吗?网上书店网站建设毕业设计范文
  • 搜索动图素材的网站石家庄网站建设登录
  • YYModel源码学习
  • wordpress缩略图生成网站怎么做推广和优化
  • 怎样做网站关键词优化成全视频免费观看在线看2024年新年贺词
  • 那些网站分享pr做的视频软件制作商城网站模板
  • 网站开发的响应式和兼容性问题wordpress页面权限设置
  • c.xxl.job.core.log.XxlJobFileAppender : No such file or directory
  • 网站还没建设好可以备案吗网站开发之前前后端不分离
  • 米拓建站教程wordpress 视频收费
  • 网站半年了 没有流量网站备案怎么换
  • 网站内容页显示不出来建个企业网站备案需要多长时间
  • 重建大师8.0 | 首创OPGS-Mesh建模技术,三维模型走向美用兼得新态势
  • 建设银行网站怎么修改手机号码吗电子商务网站规划与建设论文
  • 做语文高考题网站企业展厅怎么设计
  • 湛江网站设计软件庆阳网站哪里做
  • 宠物店信息管理系统25nfryp8(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
  • 郑州网站制作的公司哪家好那家做网站好
  • 一套针对金融领域多模态问答的自适应多层级RAG框架-VeritasFi
  • 建设银行网站上的的研究报告全国大型教育集团网站建设
  • 做网站有送企业邮箱吗全屋定制官网
  • 毕设做网站什么主题比较好织梦网站怎么做模板
  • 【图像超分】python实现制作超分辨率数据集
  • 网页pc端广州关键词优化外包