ch372端点1下传不成功

我使用的是CH372的内置固件模式,在PC上用CH375WriteAuxData向CH372的端点1写出辅助数据,CH372的中断没有反应,要在PC上多发几次,CH372才会有一次中断。如果发生了中断,中断值是正确的。请问一下,内置固件模式下不能用CH375WriteAuxData吗?谢谢!

支持的,端点1和端点2的操作基本是一样的,下载CH372DBG.ZIP,测试一下端点2下传是否能成功


这个和内置固件没有什么关系,PC不知道是不是内置固件.用CH372DUG测试一下,如果没有问题检查你的PC软件,如果有问题检查你的下位机程序. 另外参考程序请下载:CH372EVT.ZIP


端点2是上传,下传都正常的,端点1上传也是正常的。就是端点1下传不正常,CH372的中断INT引脚的中断都时有时无。


测试结果呢?用CH372DUG测试的结果.


CH372DUG 测试端点2正常,但CH372DUG没有端点1的下传测试项。


PC机上用的是VB,下传到CH372的端点1: BUF_W1(0) = 1 CH375WriteAuxData 0, BUF_W1(0), 1

CH372上,中断产生都是时有时无的。不知为什么?


可以把你的程序发到tech@wch.cn邮箱.可能和程序有关.详细说明现象.


CH375WriteAuxData 0, BUF_W1(0), 1 第3个参数一定要用个long 类型的变量,在我们的库中需要修改这个变量,如果你用常量的话就可能会出现内存错误。 还有BUF_W1你怎么定义的?请参考我们的例子程序! Type mBuf mBuff(4099) As Byte End Type Dim mBuffer As mBuf dim len as long len = 1 mBuffer.mBuff(0) = 1 CH375WriteAuxData 0, mBuffer, len


谢谢!我先按你说的试一下。


您们好!   还是不行,程序已发给你们。   我写的PC的VB测试程序,很简单,按Command1,用CH375WriteAuxData下传到端点1;按Command2,用CH375Writedata下传到端点2。都只传一个字节。   下位机用的是PIC,程序也很简单,就是当PIC单片机收到CH372的INT#中断的低电平后,点亮一个LED,然后用28H,RD_USB_DATA读出数据并释放缓冲。   测试时,下传到端点2正常。但下传到端点1时,需要按多次Command1,单片机才能收到CH372的中断,点亮LED,而且没有规律,有时按Command1键 2-3次,单片机就可以收到一次中断,有时按10几次也没有反应。   请帮忙检查一下原因,谢谢!


程序收到了吗?


邮件已回复,请查收!感觉你的代码没什么问题,你再把下位机的代码发过来看看


下位机代吗已发,谢谢


下位机那段代码确实能实现端点2下传,而端点1不行么? 建议把代码参考我们的例程\CH372EVT\PUB\MCU_IF\C调整一下 (1)获取中断状态后分析一下中断类型,再作相应处理 (2)把写命令、写数据、读数据写成子函数的形式


  下位机能实现端点2的下传,每次都成功,而端点1不行,时有时无,多发几次,会有一次成功,但没有规律。不成功时CH372的中断都没有,PC上CH375WriteAuxData执行返回成功的,只是返回的发送数据长度是0。如果成功,CH372就有中断,中断值也正确。

  这段代码我是专为测试端点1下传写的,简单一点,就是测试一下CH372中断产生和中断的类型。正式的代码已实现了端点2的上传和下传,端点1的上传也没有问题,应用功能都已经实现了,只是现在需要增加一个端点1的下传,才发现端点1下传有问题了。      我想不管是端点1还是端点2下传数据,都要CH372先产生中断,下位机才能处理。现在端点2能成功,说明下位机的中断检测功能代码应是没有问题的。端点1不能成功时,CH372连中断都没有产生。      这会不会是这片CH372有问题?或是API函数有问题?


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