文章目录1、USB鼠标1、实现鼠标输入2、单片机控制鼠标2、USB键盘 在前面的文章中介绍了USB作为虚拟串口,大容量存储功能的使用,并介绍了通过USB对单片机内部FLASH,外挂的FLASH以及SD卡的访问,但是USB其实还有很多其他的功能,因此这里就来介绍下关于HID设备,也就是人体交互的使用:1、USB鼠标1、实现鼠标输入首先还是线补充说下电脑插入USB后的过程,USB主机(一般是电脑)在
今天有空,开贴讲讲,怎样配合ST 提供的库函数理解STM32F103 的USB模块,以及怎么调用这些库函数来实现基本的USB通信。题目很大,先只讲讲最简单的应用。1 关于512字节的Packet Buffer在STM32F103的USB模块中有一个RAM 区,称为Packet Buffer,共有512字节。USB模块中有个Buffer Description Table,这个Table位于512字
转载 2024-05-09 13:29:04
482阅读
汇总1:STM32USB例程修改步骤,来自 以下是笔者将ST的Custom_HID例程修改为“自定义USB设备”例程时总结出来的,因为笔者也是刚刚学USB开发不久,某些方面理解错误在所难免,请各位大虾指正。一、usb_desc.c文件根据你程序使用的通信方式修改。usb_desc.h文件中定义要根据usb_desc.c文件中的数组的大小;ConfigDescriptor[SIZ_CON
一、USB简介USB(Universal Serial BUS)通用串行总线,是一个外部总线标准,用于规范电脑与外部设备的连接和通讯。是应用在 PC 领域的接口技术。USB 接口支持设备的即插即用和热插拔功能。USB 是在 1994 年底由英特尔、康柏、IBM、Microsoft 等多家公司联合提出的。USB 发展到现在已经有 USB1.0/1.1/2.0/3.0 等多个版本。目前用的最多的就是
  最早接触usmart是在原子的开发板上,那时候用usamrt调了不少程序。后来实验室项目用到了stm32f072,于是就把usmart移植到了f0上面。好在这方面已经有人做过了,直接把代码拿来用就行。  最近板子更新,芯片换了个容量,但还是072。可不知道怎么回事,用标准库的程序死活运行不了。于是死马当活马医,用cube生成了初始化代码,竟然可以了。表示真是十分玄学。于是哼哧哼哧,把外围的驱动
STM32HAL库,处理虚拟串口数据(全双工处理 )今天给大家讲的HAl下面虚拟串口数据开发,解决量产板子串口硬件问题,解决串口不不够用的情况。废话不多说,先说说串口UART,相信各位在开发中应该用的非常多。功能配置这些我都不做详细介绍了。里面的一个配置需要注意下那就是波特率。虚拟串口需要用软件模拟出这个调度时间。本篇文章参照借鉴该连接有兴趣的朋友可以去看看: 下见串口示例图:下面是每一
前言学习stm32 USB接口使用,学会用CUBE工具快速创建USB设备工程及调试,关于usb的相关知道请读者提前准备并学习,当然如果不想深究其中原理的话,跟着本文来操作就可以实现基于USB的设备开发了。需要提示的是,stm32在使用usb接口功能是一般需要在DP引脚上上拉一个1.5K电阻到3.3V(部分MCU内部会上拉)。 示例详解基于硬件平台: STM32F10C8T6最小系统板,
转载 2024-05-13 20:21:46
3230阅读
开发环境:Window 7 开发工具:Keil uVision5 硬件:stm32f103c8t6stm32系列芯片很多都拥有一个USB2.0全速的通讯接口,下面介绍怎么使用st官方的usb应用例程。 首先从官网下载源码: https://my.st.com/content/my_st_com/en/products/embedded-software/mcu-mpu-embedded-softw
转载 2024-05-27 19:06:54
269阅读
一、USB简介USB(Universal Serial BUS)通用串行总线,是一个外部总线标准,用于规范电脑与外部设备的连接和通讯。是应用在 PC 领域的接口技术。USB 接口支持设备的即插即用和热插拔功能。USB 是在 1994 年底由英特尔、康柏、IBM、Microsoft 等多家公司联合提出的。USB 发展到现在已经有 USB1.0/1.1/2.0/3.0 等多个版本。目前用的最多的就是
转载 2024-03-25 21:00:26
2674阅读
今天心血来潮想写点东西 做比赛这么久了,应该写点东西,一是为了给自己学的知识一个总结,二是可以锻炼自己的写作能力与表达能力,帮助他人避免自己走过的坑stm32 USB VPC虚拟串口简介很多stm32的开发版都带有一个usb接口,可以用cubeMx将其配置成一个虚拟串口,使用USB线就可以打印调试信息,省去了用TTL转USB的步骤,而且USB虚拟串口的速度和稳定性比TTL转USB要好,在开发中,这
转载 2024-08-06 21:23:36
276阅读
本文主要讲述的是在STM32F407VE板子上通过STMCube生成的USB HOST CDC 程序驱动CH340进行数据传输。创作背景:        打算用RT1052开发一个项目,由于项目中用到的传感器比较多,像雷达,ublox等需要通过UART进行通讯,基本分配之后占用了8个串口。而RT1052只有8个串口,没有预留串口也没有调试串口,考虑到RT10
转载 2024-04-02 11:30:46
719阅读
一、stm32usb简介: 1。usb外设实现了usb2.0全速总线和APB1总线间的接口。 2。usb外设支持usb挂起/恢复操作,可以停止设备时钟实现低功耗。 二、usb主要特征 1。符合usb2.0全速设备的技术规范 2。可配置1到8个usb端口 3。CRC(循环荣誉校验)生成/检验,反向不归零(NRZI)编码/解码和位填充 4。支持同步传输 5。支持批量/同步端点的双缓冲区机制 6。支
转载 2024-02-20 22:10:32
1199阅读
一、USB简介USB(Universal Serial BUS)通用串行总线,是一个外部总线标准,用于规范电脑与外部设备的连接和通讯。是应用在 PC 领域的接口技术。USB 接口支持设备的即插即用和热插拔功能。USB 是在 1994 年底由英特尔、康柏、IBM、Microsoft 等多家公司联合提出的。USB 发展到现在已经有 USB1.0/1.1/2.0/3.0 等多个版本。目前用的最多的就是
转载 2024-04-26 07:07:43
3539阅读
stm32 USB与USART串口数据互转----单纯malloc队列1.背景项目需求,在stm32F072中,有四个USB CDC设备,四个Usart串口,现将它们命名为Usart1Usart4,CDC1CDC4,它们之间一一对应,在串口x收的数据需转发至CDCx,CDCx收到的数据需要抓发到对应的Usartx,如CDC1收到的数据,需要使用USART1发送出去CDC1<------转发-
我们做STM32产品开发,最终是要将编写的程序代码写进芯片存储器,通常指Flash存储器【含可以映射到芯片存储空间的片外存储器】,让程序正常运行起来以实现相应的功能。一般来讲,将我们准备好的机器代码HEX或BIN文件等写进片上FLASH可以有三种常用的烧写方式。【温馨提示:下面提到的烧写方式的术语或称谓不是绝对的,对于不同的器件可能有不同的表述甚至内涵,这里仅针对STM32,知道怎么回事就好】第一
转载 2024-08-29 13:31:48
293阅读
通过CubeMX实现STM32USB支持1 添加晶振2 添加USB,我用的是FS通道3添加中间件,选择CDC虚拟串口4 添加调试接口SWD5 设置时钟,我用的是12M晶振,选择红线标识的通道6 选择生成的工程,我用的Keil,堆和栈要设大点,不然Windows的设备管理器会有感叹号7 选择好库的相关选项8 在Keil中设置好编译器,建议选择最新的编译器,使用微库,单精度浮点9 在usbd_cd
转载 2024-03-29 23:16:41
2778阅读
STM32配置USB组合设备有个比喻描述的特别好说到USB复合设备就不得不说说USB的枚举过程,也就是USB插入后主机的一系列动作。当然我们这里是不会用很专业的术语来说明的,相信如果你是开发者,必然已经了如指掌,如果你是使用者,更是不愿看到太多的专业术语的。我把USB的枚举比作一个自我介绍,在插入后主机会询问USB设备的属性,而设备则像自我介绍一样告诉主机自己的“名字”,“年龄”,“证件号”,“母
转载 2024-05-17 23:53:12
886阅读
一、前言原来STM32USB开发很复杂,在标准库上移植USB库需要修改不少地方,但是现在用HAL库,配合CubeMX就能快速生成USB工程了,这里用STM32F1来实现Virtual_COM_Port虚拟串口。原理图如下,STM32F1的USBUSB2.0全速总线,所以DP上拉,DM不接上拉。二、CubeMX配置(1)mcu使用STM32F103C8(2)RCC里高速和低速时钟都选择外部晶振Cr
转载 2024-04-18 14:40:56
388阅读
软件STM32cubeIDE下使用STM32F4xx配置uart1和uart5数据互相透传-基础样例概述环境透传基本了解实验步骤>>>(1)初步建立工程1)了解硬件连接2)基本配置3)串口uart1和uart5的DMA配置4)时钟配置5)加入uart1和uart5的DMA输出代码6)硬件连接,进行测试>>>(2)加入回调函数1)接收初始化2)回调函数3)回调函
转载 2024-10-12 14:54:47
718阅读
STM32产生PWM是非常的方便的,要需要简单的设置定时器,即刻产生!当然,简单的设置对于新手来产,也是麻烦的,主要包括: (1)使能定时器时钟:RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE); (2)定义相应的GPIO: /* PA2,3,4,5,6输出->Key_Up,Key_Down,Key_Left,Key_Right,Key_
  • 1
  • 2
  • 3
  • 4
  • 5