第二步:修改usbd_desc.c文件,对于这些标准的USBD Class,可以在我们之前Classic USB 例程中寻找一个,在这里用上面提到的U5的示例;……\stm32u5-classic-coremw-apps-main\Projects\NUCLEO-U575ZI Q\Applications\USB_Device\CDC_Standalone\USB_Device\App 直接替换掉之前 HID 的 usbd_desc.c 和对应头文...
(2)USB_Interrupts_Config(); 这个是 main 函数中调用的第二个函数,它也位于 hw_config.c 文件中。主要 功能是配置 USB 所用到的中断。 跟踪到代码中,主要设配置了 USB 低优先级中断和唤醒中断,又有一个 EXTI 中断功能未知。 (3)Set_USBClock() 这个是 main 函数中调用的第三个函数,它也位于 hw_confi...
从代码中可以知道 USBH 是支持 USB2.0 和 USB1.1。使用 USB2.0 就要配置 usbh_ehci 节点,使用 USB1.1 就要配置 usbh_ohci 节点。根据 compitable 属性值,可以查找到驱动文件为 drivers/usb/host/ohci-platform.c 和 drivers/usb/host/ehciplatform.c。 2.配置 PHY 控制器 同样在 stm32mp151.dtsi 文件中,...
void USB_Interrupts_Config(void) { NVIC_InitTypeDef NVIC_InitStructure; EXTI_InitTypeDef EXTI_InitStructure; /* Configure the EXTI line 18 connected internally to the USB IP */ EXTI_ClearITPendingBit(EXTI_Line18); // 开启线18上的中断 EXTI_InitStructure.EXTI_Line = EXTI_Line18; // USB resume ...
开启USB_OTG_FS的USB Device选项后,Middleware栏目可以去配置USB_Device信息,本文MCU作为USB_Device与笔记本电脑USB_HOST相连接,实现串口通信收发数据,因此选择通信类型虚拟串口功能,如下图所示,参数保持默认。 设备描述符按默认设置: 由于USB驱动引入了中间件代码,并比较复杂,需要更多缓存支持,现进入工程配置页面,调整min...
USB 设备库架构 USB 设备库主要分为三层,应用在这三层之上。第一层主要包含两部分:内核 和 类驱动 ...
选择USB Device功能,速度为默认全速USB设备12MHZ,并使能USB_DEVICE库,选择Virtual Port Com (虚拟串口,VPC),使用默认配置。 设置系统时钟为72MHZ,然后生成工程。 4.软件部分 使用cube生成的代码编译下载后,将USB插入电脑,在电脑设备管理器中将显示新的串口设备(使用STM32的USB VPC时需要对应的驱动程序,驱动在程序也...
1. USB主机通信:STM32作为USB主机,可以控制和管理连接到USB接口的外部设备,实现数据传输、配置和控制等功能。 2. USB主机驱动程序:STM32提供了相应的USB库,可以方便地开发USB主机驱动程序,实现对外部设备的控制和管理。 3. USB设备识别:STM32可以检测到连接到USB接口的外部设备,并能够识别设备的类型和功能。
深入解析STM32_USB-FS-Device_Lib库 说明:这个是我学习STM32USB编程时的总结,其中的部分内容是英文文档直接复制过来的,不影响我的阅读,并且我有时也觉得不能准确表达原文的意思,所以我就没有翻译。声明:该文档只供学习之用,任何用于其他目的的行为,需征得本人 ...