CH375 VC进行简单下传数据问题

新手啊,用VC进行简单的下传数据,提示没有传送成功,想问问什么问题,寻求帮助。

数据长度超过64字节的话,VC这边需要发送中断吗。资料上说以64字节为一组,分组传送,PC直接传送数据就可以吧?

其中传送数据的代码:输出的mLength应该是100,但是实际是0,说明传送没有成功。

mLength=0;

for ( i=0; i<100; i++ ) 

{

mBuffer[i]=TEST_DATA+i;  // 产生发送数据

mLength++;

}

for ( i=0; i<100; i+=64 )

   mBuffer[i]=TEST_DOWNLOAD;  // 每64字节为一个数据包,首字节为命令码

 if ( CH375WriteData( index, &mBuffer, &mLength ) )  // 发送成功

{

printf("写入%d个数数据成功\n",mLength);

}

else 

{  // 写操作失败

mErrCnt++;

printf( "写操作失败\n" );

}


实际运行提示是64个数据下传成功,不是0个也不是100个。这个是下位机有关还是上位机的原因呢?


您好,这个问题要解决的话,你可以研究下USB具体事务传输,上位机要发送数据是,USB主机会发送OUT请求,每次OUT数据长度不超过USB设备的端点大小(372是64字节),加入是传输100个字节的话,就会分两次OUT事务,第一次发送64字节,第二字传输36字节,如果说只成功64字节的话,那就是下面的设备只接受了64字节,后面没处理。


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