收到板子后做的第一件事就是想着基于官方的vcp_loopback例程做一个WINUSB例程。没想到移植后居然翻沟里出不来了。花了好几个晚上都没整出来,手上又没有协议分析仪,只能寄希望于官方例程或万能的网友的帮助了了。
先说一下移植了那些东西:
说一下问题:
下载程序后,可以看到WIN10识别了USB,但有黄色感叹号。检查发现是没有系统没有检测到相应的驱动。按道理不应该出现这个问题,说明下位机程序有问题。强行安装驱动之后,WIN10系统识别了USB并没有感叹号,但上位机不能和其通讯。检查了半天发现在第一次连接时,有查询0xEE操作,但却不进入Get_WINUSB_Des函数,说明这里通讯有问题。苦于没有分析仪,不知道这里出了什么问题。尝试打印setup过程:
程序反复进入device_request而不进入interface_request。不知道这个阶段到底发生了什么。
AT32F425_WINUSB.zip
(750.96 KB)
题外话:
测试了一下VCP,每隔5ms发送200字节数据,时间一长会出现丢包,与其他品牌的单片机的CDC一样。同时吐槽一下VCP数据接受是循环检测而不是中断内检测,分配空间有点小,改大以后也有丢包。
|