cubemx配置stm32f407VET6实现USB虚拟串口

背景:
最近做项目需要使用USB,一根数据线连接“mcu的板子”和“电脑”;
电脑上的串口助手通过USB线和mcu的USB通信;
原理图:
1)外围电路在这里插入图片描述2)mcu引脚
在这里插入图片描述
软件实现:
1.cubemx配置USB_device
1)sys
在这里插入图片描述
2)RCC
在这里插入图片描述
3)时钟
用的是12MHZ的外部晶振
在这里插入图片描述
4)配置decice_only和中断在这里插入图片描述在这里插入图片描述5)配置USB_DEVICE为communication Device Class(CDC)
在这里插入图片描述6)生成代码:
在这里插入图片描述在这里插入图片描述

2.业务逻辑:
1)仅使用MCU的USB发送数据(注意波特率可以是任意值)
在这里插入图片描述
测试通过
在这里插入图片描述
2)测试mcu的USB接收功能
方法很多,可以参考这2个博客
https://blog.csdn.net/m0_64213554/article/details/133828860
https://blog.csdn.net/weixin_66608063/article/details/134903629
接下来的方法是之前一个同事写的,我直接搬运一下;

第一步:在文件 usbd_cdc_if.c中 的 函数添加一行代码用于获取字符串长度;
在这里插入图片描述
第2步:
在usb_device.c中实现业务逻辑“USB数据回显函数”
在这里插入图片描述第3步:
在main函数中调用这个功能
在这里插入图片描述
第4步:测试通过
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/838075.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

流程图用什么软件做?选择这4款,让工作事半功倍

流程图用什么软件做?流程图是一种直观、清晰的图形表示法,它通过节点、箭头和符号等元素,精确地展示出一系列步骤、决策点以及操作过程。这种图形化的呈现方式不仅简化了复杂信息的处理,还使得读者能够迅速把握整体流程&#xff0…

Day54代码随想录动态规划part15:392.判断子序列、115.不同的子序列

Day54 动态规划part15编辑距离 392.判断子序列 leetcode链接:392. 判断子序列 - 力扣(LeetCode) 题意:给定字符串 s 和 t ,判断 s 是否为 t 的子序列。字符串的一个子序列是原始字符串删除一些(也可以不…

构建第一个ArkTS应用之@LazyForEach:数据懒加载

LazyForEach从提供的数据源中按需迭代数据,并在每次迭代过程中创建相应的组件。当在滚动容器中使用了LazyForEach,框架会根据滚动容器可视区域按需创建组件,当组件滑出可视区域外时,框架会进行组件销毁回收以降低内存占用。 接口…

上海交大携手阿里巴巴成立人工智能与系统联合实验室

5 月 8 日,上海交通大学电子信息与电气工程学院(简称电院)与阿里巴巴集团宣布共同成立人工智能与系统联合实验室(后称“联合实验室”),并在上海交大闵行校区举行了揭牌仪式。 上海交大电院副院长王贺升教授…

Go 语言将 PDF 转为 Word 如何处理

文章推荐 1 作为程序员,开发用过最好用的AI工具有哪些? 2 Github Copilot正版的激活成功,终于可以chat了 3 idea,pycharm等的ai assistant已成功激活 4 新手如何拿捏 Github Copilot AI助手,帮助你提高写代码效率 5 Jetbrains的a…

python实现图片模式转换成素描模式

欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 一.前言 二.代码 三.使用 四.分析 一.前言 素描,是一种用线条来描绘物体、场景或人物的绘画方式,它可以是简单的线条勾勒,也可以是复杂的光影渲染。这种艺术形式主要依赖线条和明暗关系来表现形态、空

Redis- 如何防止攻击者利用未授权访问 Redis 服务的攻击获取目标机器的 root 权限

攻击概述 以下攻击步骤展示了如何利用未加防护的 Redis 服务器,通过配置 Redis 的持久化机制,将攻击者的 SSH 公钥写入目标机器的 ~/.ssh/authorized_keys 文件,从而获取目标机器的 root 权限。这是一种典型的利用未授权访问 Redis 服务的攻…

亚信安慧AntDB:赋能业务管理 推动数字化转型

在当今数据驱动的信息时代,数据库正面临着前所未有的挑战与机遇。随着技术的飞速发展和用户需求的不断变化,传统的数据库解决方案已逐渐显得力不从心,难以满足运营商日益复杂的业务需求。而亚信安慧AntDB数据库则以其强大的功能和优越的性能&…

PyTorch进行CIFAR-10图像分类

本节将通过一个实战案例来详细介绍如何使用PyTorch进行深度学习模型的开发。我们将使用CIFAR-10图像数据集来训练一个卷积神经网络。 神经网络训练的一般步骤如图5-3所示。 (1)加载数据集,并做预处理。 (2)预处理后的…

sin^2(x) 的图像

[TOC](sin^2(x) 的图像) 正文 这里记录一下 s i n 2 x sin^2{x} sin2x 的图像。 函数值以正弦的形式在 [0, 1] 区间内波动。 如果大家觉得有用,就点个赞让更多的人看到吧~

Ant Design Vue 的组件库的<a-tab-pane>的force-render

在使用类似 Ant Design Vue 的组件库时&#xff0c;force-render 属性通常用于指示是否强制渲染标签页的内容&#xff0c;即使它还没有被显示。通常&#xff0c;在一个标签页组件&#xff08;如 <a-tab-pane>&#xff09;中&#xff0c;内容只有在用户激活该标签页时才会…

嵌入式文件系统

嵌入式文件系统 文件系统简介 在计算机系统中&#xff0c; 需要用到大量的程序和数据&#xff0c; 它们大部分以文件的形式存放在外部存储当中&#xff0c; 根据需要可随时调入内存使用 如果用户直接管理外存文件所面临的问题&#xff1a; 必须熟悉外存的物理特性了解各种存…

英语新概念2-回译法-lesson14

第一次回译 I had a amusing experience. I kept driving to the next town when I left a small village in the south of Franch.A teenager waved to me in the path.I stopped my car, he asked me to give him a lift.As soon as he get my car,I say good morning in Fr…

【Kubernetes】污点、容忍度、亲和性、调度和重启策略

标签、污点、容忍度、亲和性 一、标签1、定义2、给资源打标签【1】给Pod打标签【2】给Service打标签【3】给Node打标签 3、查看资源标签 二、节点选择器1、nodeName2、nodeSelector 三、污点、容忍度、亲和性1、node节点亲和性【1】硬亲和性【2】软亲和性 2、pod节点亲和性【1】…

LeetCode hot100-36-N

94. 二叉树的中序遍历给定一个二叉树的根节点 root &#xff0c;返回 它的 中序 遍历 。这题都写不出来&#xff0c;废了 以前学数据结构的时候&#xff0c;书上老师写伪代码&#xff0c;于是递归版的遍历在伪代码中看起来就很简单。但是怎么输出这个list呢&#xff0c;其实是另…

安泰电子电压放大器应用及示例是什么样的

电压放大器是电子电路中常用的一种器件&#xff0c;用于将输入信号的电压放大至所需的输出电压。它在许多领域中有着重要的应用&#xff0c;包括通信、音频放大、仪器测量等。以下是电压放大器的一些应用及示例&#xff1a; 信号处理&#xff1a;在许多电子系统中&#xff0c;需…

Kasawaki川崎机器人故障维修

在当今的自动化工业领域&#xff0c;川崎工业机器人以其卓越的性能和可靠的工作效率赢得了广泛的赞誉。作为机器人的核心组成部分&#xff0c;伺服电机的作用至关重要。然而&#xff0c;就像所有机械设备一样&#xff0c;也可能会遭遇电机磨损或故障&#xff0c;需要适时的川崎…

vue自定义权限指令

定义v-hasPermi指令 /*** v-hasPermi 操作权限处理*/import useUserStore from /store/modules/userexport default {mounted(el, binding, vnode) {const { value } bindingconst all_permission "*:*:*";const permissions useUserStore().permissions&#xff…

linux - 搭建部署ftp服务器

ftp 服务: 实现ftp功能的一个服务,安装vsftpd软件搭建一台ftp服务器 ftp协议: 文件传输协议 (file transfer protocol),在不同的机器之间实现文件传输功能, 例如 视频文件下载,源代码文件下载 公司内部:弄一个专门的文件服务器,将公司里的文档资料和视频都存放…

基于死区补偿的永磁同步电动机矢量控制系统simulink仿真模型

整理了基于死区补偿的永磁同步电动机矢量控制系统simulink仿真&#xff0c;该模型使用线性死区补偿的PMSM矢量控制算法进行仿真&#xff0c;使用Foc电流双闭环 。 1.模块划分清晰&#xff0c;补偿前后仿真有对比&#xff0c;易于学习; 2.死区补偿算法的线性区区域可调; 3.自…