本帖最后由 muyichuan2012 于 2024-8-15 17:20 编辑
AT32WorkBench常用功能 17 —USB Device Winusb
AT32 WorkBench最新版下载地址:https://www.arterytek.com/file/download/1710
USB Winusb工程建立
本文主要介绍如何基于AT32 WorkBench配置USB Winusb
硬件环境
l AT-START-F405
l USB线缆
软件环境
l AT32 Workbench
l MDK5
l zadig与WinUSB_Test
注意:zadig与WinUSB_Test软件可前往雅特力官网->技术开发与支持->设计资源->Example Code->SC0090压缩包内获取,如图所示:
配置步骤:
1. 打开AT32 WorkBench新建AT32F405RCT7工程
2. 在外设中打开USB_OTGHS1并选择设备,视情况选择是否勾选相关信号,本案例不勾选
3. 可以看到时钟配置菜单栏打了红叉 ,这是因为缺少12M外部晶振为OTGHS PHY提供时钟,所以需要在外设CRM中打开高速外部晶振。
4. 在中间件USB_DEVICE中选择OTGHS1设备类为Winusb,HS设备描述符和端点FIFO可根据需要修改,本案例使用默认数值。
5. 点击生成代码,然后生成MDK_V5工程即可完成Winusb基础工程的建立
6. 使用MDK_V5打开项目,编译并下载到开发板,将开发板HS_Device口连接到PC并复位,查看PC设备管理器,会发现多出一个AT32 WinUSB设备
7. 打开Zadig软件依次按如下操作 7.1 打开软件,点击List All Devices
7.2 选择设备,WinUSB驱动,生成方式(Extract Files)
7.3点击Advanced Mode
7.4选择驱动生成的路径并生成驱动
7.5打开选择的路径查看生成结果
7.6打开设备管理器删除设备原驱动
7.7安装前面用Zadig生成的驱动
7.8 打开上图通用驱动xxx.inf文件
7.9 查看DeviceInterfaceGUIDs,本例就是DeviceGUID,复制
8. 打开WinUSB_Test软件,在GUID框内输入上面获得的DeviceGUID,刷新一下,就可以找到AT32 WinUSB设备了,接下来就可以进行通信测试了,给开发板发送数据,开发板在接收到后会将数据返回给上位机
注意:对于USB_OTGFS来说,步骤相似,但可以不开启12M高速外部时钟,且输入到OTGFS控制器的时钟必须是48MHz。若选择hick to usbfs则可以解锁外设AAC功能,可以在AT32 WorkBench时钟配置界面进行确认。
|