CH375的相关问题

求高手支招,假如我想通过375向PC机发送128字节的数据。我的大致思路是这样的。第一次通过批量上传端点传送64字节。,然后在批量上传成功的中断处理中传送第二次的64字节的数据。这时候又会产生批量端点上传成功的中断。 我想请问下这时候在批量端点上传成功的中断服务程序中是应该再传送一次?因为我已经传了128字节的数据。此时可以通过设置上传数据的长度为0来彻底终止这次传输么,也就是让它不再产生批量端点上传成功的中断。通过这样能够达到目的么。高手在哪,专家在哪。求指导啊。[Emot]27[/Emot]

对于你传多少字节后不再传,你完全可以通过设置一个长度变量来计数。 当然如果传输N个64字节整包后,可能通过传输一个0字节的包,通知主机本次批量传输已提前结束,否则他会等到指定长度时或遇到第一个零长度包时认为本次批量传输结束。


非常感谢您的回复,如果我只传30字节的数据。这个不够64,可以通过长度字段告知就可以了?还有贵公司的简化版驱动程序支持传送大量数据么,驱动程序中可有将大的IRP拆分成若干个小的IRP


我看了贵公司的一些资料。简化版的CH375DLL中的CH375ReadData函数,里面有这么一句话 mpCommand -> mLength = max( *ioLength, mCH375_PACKET_LENGTH ); // mCH375_PACKET_LENGTH =64 数据长度,不能小于CH375的数据包长度,若是我传的数据不超过64字节,也一定要将它设置为64字节么。个人感觉不用啊。单片机端的中断服务程序中首先读到的应该就是这个长度字段,然后我再依据这个长度字段上传数据不就可以了吗。难道单片机端批量端点只能传64的整数倍的?


高手在哪,我一插上CH375,系统就直接将驱动程序安装好了。气人啊。我不想让它自己装啊。我想自己一步一步装。看看是怎么一回事。这个问题怎么解决啊


你先不需要预安装驱动。自己手动安装驱动应该就可以了。或者你安装好之后使用我们的驱动安装包卸载驱动之后在从新安装也是可以的。


我使用贵公司提供的CH375测试数据上传速度的例子,为何永远只有第一次能读到数据啊。接下来的每次都读不到数据。郁闷啊。


专家,大神,我使用贵公司的CH375的简化版的驱动程序,然后在运行了贵公司网站上提供的测试程序。该程序是 CH372EVT\PUB\BULK。在使用该测试程序时。为什么我只能读一次数据(只执行循环体一次),这是什么原因呢。应该不会出现这种问题啊。还有就是批量端点只支持64字节的数据,驱动程序中我也没看见拆分大的数据包啊,我想请问一下在哪拆分了。还有一个问题是,我使用此版本DLL中的获取设备描述符和配置描述符函数时,它们也没有执行成功,这是怎么一回事。我想请问一下若执行成功的话,这些描述符信息是mWIN32_COMMAND的mBuffer中?返回的数据还是mWIN32_COMMAND结构型的?期待专家的回复。


1.如果你驱动安装完成,说明你描述符设备已成功。 2.关于64字节的分包,这跟372的端点有关系,由主机自动协调。 如果你还有疑问,建议你打电话过来,025-52638362、52638368。


打电话我更加说不清楚了。现在问题有所解决了,读取设备描述符时,失败。读取配置描述符时,成功,但是返回的用于指示保存配置描述符信息缓冲区的长度居然为0,我看网上有人说一般请求配置描述符,好像要请求俩次,是这个原因么。BOOL WINAPI CH375GetDeviceDescr( // 读取设备描述符 ULONG iIndex, // 指定CH375设备序号,必须是0 PVOID oBuffer, // 指向一个足够大的缓冲区,用于保存描述符 PULONG ioLength ); // 指向长度单元,输入时为准备读取的长度,返回后为实际读取的长度这个缓冲区里面的数据应该是mWIN32_COMMAND结构型的么?

BOOL WINAPI CH375GetConfigDescr( // 读取配置描述符 ULONG iIndex, // 指定CH375设备序号,必须是0 PVOID oBuffer, // 指向一个足够大的缓冲区,用于保存描述符 PULONG ioLength ); // 指向长度单元,输入时为准备读取的长度,返回后为实际读取的长度 这个保存配置描述符信息的缓冲区也是mWIN32_COMMAND结构型的么?我想自己写俩个函数将设备描述符信息和配置描述符信息打印出来。

现在数据上传部分,能够执行15次4096字节的,第16次只上传了5字节。剩下的全是0字节。这是什么原因。


只有登录才能回复,可以选择微信账号登录