下传数据时如何给DSP中断

PC下传100个数据:

CH375SetBufDownload( index ,1);  //缓冲下传方式

 mLength=0;

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

{

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

mLength++;

}

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

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

else 

{  // 写操作失败

mErrCnt++;

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

}

if ( mErrCnt==0 )

   Sleep(100);


VC上提示:共成功写入100个数据。这种下传方式应该不会有问题的吧,想问问DSP上接到中断应该是两个,这两个是分别是什么时候接收到的呢?是发送第一个包(64字节)接收到第一个中断,发送剩下的数据接收第二个中断是吗?谢谢!


100个字节的数据应该分2次发送,一次最多传输64字节,一包数据被375接收成功后,产生IN中断,第一包数据被从缓冲区取走后然后才能填入第二包数据,产生第二次中断。


不能直接把数据传入到缓冲区内吗?然后下位机根据缓冲区的长度,判断2个数据包,有2个中断,首先读取第一个包(64字节),释放空间再进行下一个包的读取?上位机下传不是自动分包传输吗?


谢谢您!资料上说375驱动程序逐个自动发送内部缓冲区的待下传USB包,内部缓冲区可以暂存多个数据包,每个数据包最大长度64字节。我的代码中调用了CH375WriteData,是把数据分包存在了缓冲区吧,应该没有问题的啊?


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