你好,请问一下,
1、在代码中加了打印,枚举过程中没有调用这个?为啥呢?
2、如你所说,如果有数据阶段,数据阶段的处理就在EP0_OUT_Callback中处理,也是endp0RTbuff[0]开始?
你好,请问一下,
1、在代码中加了打印,枚举过程中没有调用这个?为啥呢?
2、如你所说,如果有数据阶段,数据阶段的处理就在EP0_OUT_Callback中处理,也是endp0RTbuff[0]开始?
1、
常见的设备类型枚举过程没有"数据阶段为OUT的请求",尤其是CH372厂商设备,肯定没有此类请求,即例程必定不会进入"EP0_OUT_Callback()"。
如果有此类需求,需要电脑开发上位机程序,并自行调用相关控制传输API实现。或者修改CH569/565实现的设备类型(Class、Sub Class),某一些设备类型的枚举过程可能有"数据阶段为OUT的请求"。
使用16楼测试程序进行测试。
2、数据阶段方向是OUT的话,是这样的
对比代码的修改,工具显示的差异,找规律。
你好,请问一下,我这边的要求是:EP0发送一个命令过来EP2in就连续不断发送数据给PC,按照我的理解void EP2_IN_Callback(void)这个函数是在EP2in发送结束的时候调用的,我应该调用那个函数来让EP2in开始从DmaBuff中去取数据发送呢?发送的长度(非1024对齐)如何指定呢?
上传数据逻辑参考:https://www.wch.cn/bbs/thread-86976-1.html中的上传部分。
作为设备强调“被动”属性,设备是去改变应答状态,然后等待主机启动收发数据。
"EP2_IN_Callback()"是传输完成后的通知。
通过配置"USB30_IN_Set()"和"USB30_Send_ERDY()",就能够将上传的应答状态改成ACK,此时根据USB协议,如果存在需要从设备取数据,则主机就会发起事务,随后程序就会进入"EP2_IN_Callback()",标志事务结束。
配置时注意"USB30_IN_Set()"和"USB30_Send_ERDY()"中包数量应一致,"USB30_IN_Set()"和电脑上位机软件配置的数据长度一致(字节长度)。
你好,我们在批量传输数据的最后一个burst过程中,含有一个非满包,通过USB30_IN_Set()设置最后一包的数据长度为数据总长度%1024。通过bushond测试没有办法读取非满包会有问题。请问该怎么解。
你好,请问下标准请求中的Clear/Set Feature中该如何处理?你们提供的实例代码也没有做处理。
根据请求具体内容,使能或禁止端点、接口的功能,简单说就是停止传输数据或者开始传输数据,停止设备本身功能。
你好,请问下,使能或者禁止端口调用什么API?使能或者禁止接口调用什么API?
我是这么写的,未达到预期效果,能否提供一下示例代码,ths。
您好,我按照这个帖子里的方式修改USB-DEVICE代码想做一个USB的消息轮回,如图修改代码,能收到bus hound下传的OUT包,但用bus hound抓不到MCU-》PC的IN包,MCU这边也没有进入到EP0_IN_Callback。咨询一下是代码修改哪有问题还是用bus hound没有去主动读取IN包呢?
CH569例程中的CH372例程用的是批量传输,当主机从端点1下发四包成功后(即nump == 0),转换端点方向和接收数据长度(后面两个函数),此时需要上位机主动发出IN包去取设备准备好的数据(BUSHOUND体现为点击端点1的IN按钮)。
你好 usb3.0操作的库 能否提供一个 只包含usb3.0的,ext里面的库很大,把其他模块的驱动都包含进去了,而且他驱动模块是有源代码的,比如spi,如果我修改了 这个spi的代码,编译器就会提示重复定义;谢谢.
CH372DEVICE例程中的库只包含USB相关。如果编译时产生重定义错误,请检查工程的代码包含关系。
你好,请问下ISOC 模式下连续传输,ITP_CallBack()内部如何实现?麻烦提供一个示例。