现打开工程的(.ioc)配置文件,进入cubeMX配置界面,开启USB_OTG_FS的USB Device功能,参数保持默认配置。 确保USB_OTG_FS的中断功能已经开启。 开启USB_OTG_FS的USB Device选项后,Middleware栏目可以去配置USB_Device信息,本文MCU作为USB_Device与笔记本电脑USB_HOST相连接,实现串口通信收发数据,因此选择通信类型虚拟串口...
像STM32F103系列的有一个USB Device接口,STM32F407系列的有2个USB接口,既可以作为HOST,又可以作为Device,还可以作为OTG接口。 在Middleware中选择USB_DEVICE设置,在Class For FS IP设备类别选择Mass Storage Class(HID)大容量存储设备类。 参数配置保持默认(或根据存储介质的最小存储单元修改缓冲区大小)。 MSC_MEDIA_...
打开usbd_storage_if.c文件,创建数据缓冲区。 /* USER CODE BEGIN PRIVATE_DEFINES */ uint8_t STORAGE_Buffer[STORAGE_BLK_SIZ*STORAGE_BLK_NBR]; /* USER CODE END PRIVATE_DEFINES */ STORAGE_BLK_SIZ和STORAGE_BLK_NBR这两个宏为STM32CubeMx生成,STORAGE_BLK_SIZ代表下图的分配单元大小,STORAGE_BLK_NBR...
现打开工程的(.ioc)配置文件,进入cubeMX配置界面,开启USB_OTG_FS的USB Device功能,参数保持默认配置。 确保USB_OTG_FS的中断功能已经开启。 开启USB_OTG_FS的USB Device选项后,Middleware栏目可以去配置USB_Device信息,本文MCU作为USB_Device与笔记本电脑USB_HOST相连接,实现串口通信收发数据,因此选择通信类型虚拟串口...
1. USB启动 ROM Code支持从USB OTG 接口启动,可以借助STM32CubeProg软件下载程序。 2. 串口启动 ROM Code支持以下串口:USART2, USART3, UART4, UART5, USART6, UART7, UART8。 六、存储器启动(Flash memory boot) ROM Code支持以下存储器接口:
2、USB OTG管脚映射 OTG配置!使用FS做OTG,因为原理图上面用的是FS。 管脚使用默认的管脚无需更改。 3、UART1作为打印口映射 4、第三方库的配置 (1) 第三方库的配置主要是文件系统(USB OTG需要)、网络协议栈(以太网需要)、RT OS(选配本次使用OS方便后面的以太网和USB OTG任务的...
可见,问题找出来了。在USB工程中,CAN通讯不正常是因为系统时钟降为168MHz,导致APB1时钟变为42MHz,而代码中是用APB1=45MHz来计算CAN的波特率的,所以导致波特率对应不上导致CAN通讯错误。 在CAN工程中,系统时钟为180MHz,USB OTG FS时钟变为51MHz,超过了正常的48MHz,导致USB不能正常工作。
usbd_desc.c文件对比,主要是PID有区别,其它并无太大区别 usbd_usr.c 的主要区别则是自定义HID对...
第一步,我们来配置USB的连接端口,我们连接中找到USB_OTG_FS,在右侧的选项中选择Host_Only,如下图所示: 然后在Middleware中找到USB_HOST,并在右侧“Class for FS IP”中选择“Mass Storage Host Class”配置为大容量存储设备。如下图所示: ...
第一步,我们来配置USB的连接端口,我们连接中找到USB_OTG_FS,在右侧的选项中选择Host_Only,如下图所示: 然后在Middleware中找到USB_HOST,并在右侧“Class for FS IP”中选择“Mass Storage Host Class”配置为大容量存储设备。如下图所示: ...