weeb 发表于 2020-9-28 17:07:56

求助,STM32 hal库 USB_HOST_CDC连接移远EC200S无法通讯

本帖最后由 weeb 于 2020-9-28 17:22 编辑

网上能搜索到EC20的例程,照着改了之后无法通讯。用工具抓取了EC200S的USB口信息发现interface跟EC20不一样,改了之后还是不行,初始化卡在了HOST_ABORT_STATE(Device not supporting %s class)。后面发现USB_CDC_CLASS这个参数改成0X02就可以初始化成功(这个参数应该是CDC通讯接口的标准值),换成0XFF就不行,但是EC200S的AT口的 interfaceclass的值为0XFF,现在虽然是通讯了,可以成功发送AT命令(进入发送中断)但是没有数据返回,应该是连接到了其他的虚拟口(EC200S有4个虚拟串口)。有没有大神知道问题出在哪里了,小弟第一次搞USB通讯,有点懵逼{:sweat:}

weeb 发表于 2020-9-28 17:17:00

本帖最后由 weeb 于 2020-9-28 17:19 编辑

这个是接口信息

weeb 发表于 2020-9-28 17:27:16

本帖最后由 weeb 于 2020-9-28 17:31 编辑

这个是interface获取的代码,对应了AT口的 bInterfaceNumber和bAlternateSetting

weeb 发表于 2020-9-29 14:13:40

本帖最后由 weeb 于 2020-9-29 14:21 编辑

已经解决了0XFF初始化失败的问题,但是发送AT命令还是没有返回值{:sweat:}

jiangzhimin 发表于 2020-10-13 10:56:18

您好,网上搜的例程连接 或例程能上传下吗

weeb 发表于 2020-11-17 15:30:01

jiangzhimin 发表于 2020-10-13 10:56
您好,网上搜的例程连接 或例程能上传下吗

http://www.soolco.com/post/48749_1_1.html

weeb 发表于 2021-5-31 12:03:49

https://blog.csdn.net/gyzw_mx/article/details/115642075
这个是原博主重新写的,我用STM32429+EC200S 不用改那么多,只要第一步改成interface = USBH_FindInterfaceIndex(phost, 3, 0); 第二步按照博主的改就行了,Ep_Desc数组后两个Ep_Desc、Ep_Desc顺序颠倒也没什么影响,其他的都不用按照博主的改,直接默认就行
页: [1]
查看完整版本: 求助,STM32 hal库 USB_HOST_CDC连接移远EC200S无法通讯