原来STM32USB开发很复杂,在标准库上移植USB库需要修改不少地方,但是现在用HAL库,配合CubeMX就能快速生成USB工程了,这里用STM32F1来实现Virtual_COM_Port虚拟串口。原理图如下,STM32F1的USB是USB2.0全速总线,所以DP上拉,DM不接上拉。 二、CubeMX配置 (1)mcu使用STM32F103C8 (2)RCC里高速和低速时钟都选择外部晶...
USB_To_USART_Send_Data(&buffer_out[0],count_out);//如果有数据将它发送到串口中去 count_out=0;///发送完后这个清零 } } 初看一下,还算比较好理解,但是由于这个例子好象只有发,没有收。我想它的收大约在中断中进行的(也就是串口向USB发的过程,估计在串口中断中进行,后面我们可以再分析,不行可能需要...
STM32的USB虚拟串口介绍 通常我们使用STM32进行串口通信会选择其硬件串口,但在某些情况下串口会不够用,这个时候就可以选择USB的虚拟串口,这样可以增加一个串口。 2023-03-23 10:10:46 OC门为什么要上拉电阻?输出是悬空的就一定要加上拉电阻吗? OC门为什么要上拉电阻,输出是悬空的就一定要加上拉电阻?要不要...
首先我先在网上查找了有关的资料,一般来说,STM32 USB 虚拟串口没法被识别可能有两种情况:堆栈设置太小,USB 没法完成初始化,在 CubeMX 上设置大一点。电脑端运用了 USB 分线器,把 USB 直接连接到电脑上。两种方法我都尝试了,没效。其次我就初始思考,是不是由于 STM32H750 的时钟主频太高了(400MHz)...
USB 寄存器 USB 中有三类寄存器:端点寄存器、通用寄存器、缓冲区描述表,再加上和描述表对应的缓冲区(...
2、虚拟串口硬件说明 2.1、程序中无需配置硬件的设计:D+直接接了3.3V的上拉电阻。 2.2、需要程序中配置D+上拉电阻使能的设计:可以软件模拟USB插拔,便于固件更新后自动重启。 3、不同时钟源(内部RC、外部晶振)的USB时钟的配置方式 3.1、直接使用外部时钟8M晶振 ...
实验内容:通过STM32的USB端口在PC上虚拟一个COM口,当虚拟成功后,可通过串口调试软件 发送控制命令,...
不过ST为我们封装好了USB的栈代码,可以使我们在不了解USB的协议的情况,只需使用几个API就可以快速使用USB功能。 这篇我们以VCP(虚拟串口),相当于是一根USB转232的线,展示下VCP的一个DEMO,以STM32F103C8T6为例。 电路 STM32F103C8T6,只能用作设备模式,且工作在全速模式下,D+管脚必须要接一个1.5K的上拉电阻...
stm32很多系列的芯片都带usb接口,而且cubemx也能生成多种功能的usb初始化代码,使得一般用户可以不用关注usb底层复杂的实现方式,直接使用HAL函数就能方便地实现usb通信。本节我们就来学习cubemx生成虚拟串口(USB virtual COM)的使用方法。 1)生成USB虚拟串口工程 ...
STM32 USB转串口程序解读