在usb_device.c 文件中只有MX_USB_DEVICE_Init()一个函数,该函数体内执行了四个函数对USB_DEVICE进行了初始化和启动操作 其中通过调用USBD_MSC_RegisterStorage(&hUsbDeviceFS, &USBD_Storage_Interface_fops_FS)函数,将一个USBD_StorageTypeDef类型的结构体与USBD实例化对象联系了起来,该USBD_StorageTypeDef类型...
关于USB从机参数配置中Device Descriptor 选项卡下的参数配置请阅读STM32CubeMX教程30 USB_DEVICE - MSC外设_读卡器实验”3.0、前提知识“小节 将USB设备接口配置工作在Human Interface Device Class (HID)模式下,然后通过USB线连接到Windows电脑上就可以作为一个人体学输入设备出现在PC的设备管理器中,在此模式下可以将...
像STM32F103系列的有一个USB Device接口,STM32F407系列的有2个USB接口,既可以作为HOST,又可以作为Device,还可以作为OTG接口。 在Middleware 中选择 USB_DEVICE 设置,在 Class For FS IP 设备类别选择 Mass Storage Class(HID) 大容量存储设备类。 参数配置保持默认(或根据存储介质的最小存储单元修改缓冲区大小)。
在STM32CubeMX中选择USB中间件,点击生成代码就会自动加载USB的库文件,查看STM32_USB_Device_Library文件夹可见,USB库文件分为两类:一类是Class即设备类文件;一类是Core即内核文件。内核文件和设备类文件分别如下两图所示: usbd_core.c /h —— 处理USB通信和状态机的函数 usbd_ctlreq.c/h —— 处理USB事务结...
MX_USB_DEVICE_Init(); // 默认配置生成的鼠标设备每次向电脑发送四个字节数据,这些内容是在HID设备的报告描述符中定义的 // buff[0] bit0 bit1 bit2 分别代表 左键、右键、中键 // buff[1] X 轴位移 (-127~127) // buff[2] Y 轴位移 (-127~127) ...
《STM32CubeMX HAL库开发与编程实验》本期视频讲解:高速USB通信,通过STM32CubeMX生成配置,基于HAL库开发,USB通信教程。---...
u***_device.c里面仅包含一个USB设备函数初始化函数 MX_USB_DEVICE_Init(),在程序开始时调用。 u***d_cdc_if.c为USB的CDC类应用层文件,里面包含虚拟串口的接收,发送和控制等函数。 u***_desc.c包含USB的描述符,以及USB枚举处理等函数。 u***_conf.com为USB管脚配置文件,包含引USB引脚初始化以及参数设...
MiddleWares USB_DEVICE->Class For FS IP:Download Firmware Update Class(DFU) 再配置PG15脚为GPIO_Input模式。 Clock Configuration: 图1时钟树设置 如上图,STM3240G-EVAL评估板使用的是25M HSE。Configuration:NVIC中将USB中断优先级调为5,PG15的标签设置为USER_BTN,此外还需要设置中间件USB DFU参数,如下图:...
部分型号的STM32芯片有1~2个USB接口。像STM32F103系列的有一个USB Device接口,STM32F407系列的有2个USB接口,既可以作为HOST,又可以作为Device,还可以作为OTG接口。STM32的USB接口支持USB2.0协议,内部集成了全速PHY,速度可达12Mbps,直接外接USB接口即可实现USB通信。高端系列的芯片还支持USB高速接口(480Mbps),一般...
第五,Connectivity选项里,选择USB,然后右侧Device(FS)前面打勾,下面不用管。第六,中间件(Middleware)这里,选择USB。右侧上面选择Human Interface Device Class,也就是俗称的HID。下面要注意几个地方!VID和PID分别代表厂商(Vender )编号和产品(PID)编号,VID不能随便用,要花钱向USB协会申请,所以这里仅供学习使用。PID...