求教!

我用以下一段程序,為什么無法上傳大于70個(gè)字節(jié)的數(shù)據(jù),上位機(jī)只能收到前64個(gè)字節(jié)的數(shù)據(jù),為什么?求指點(diǎn)一下迷津? void main ( ) { unsigned char mReadBuf[100]; unsigned long i,mLength; mLength = 64;

printf( "\nCH375 DAQ Test Program V1.0,HJZ1234569,2009.8\n" ); printf( "*** Load DLL: CH375DLL.DLL \n" if ( LoadLibrary( "CH375DLL.DLL" ) == NULL ) return; printf( "*** CH375OpenDevice: 0# \n" ); if ( CH375OpenDevice( 0 ) == INVALID_HANDLE_VALUE ) return; CH375SetTimeout( 0, 5000, 5000 ); CH375SetBufUpload(0,1);

while(1) { Sleep(1000); if ( CH375ReadData( 0, mReadBuf, &mLength ) ) // 接收成功 { printf( "接受成功\n"); for( i=0; i< mLength; i++) printf( "%02XH ",mReadBuf[i]);

printf( "\n"); } else printf( "No Data OR CH375ReadData return error\n"); }

printf( "CH375CloseDevice: 0 \n" );

CH375CloseDevice( 0 );// 關(guān)閉CH375設(shè)備

getch();

}

如果你要上傳70個(gè)字節(jié)的話,下位機(jī)要上傳64+6個(gè)字節(jié),下位機(jī)的端的大小是64字節(jié),如果傳超過64傳輸時(shí)分多包傳 上位機(jī),CH375ReadData緩沖區(qū)最大支持4096: mLength =70; CH375ReadData( 0, mReadBuf, &mLength ) 先把CH375SetBufUpload這句屏蔽掉。


試了一下,還是不行呀!

FPGA上傳的70個(gè)字節(jié),是先發(fā)送一個(gè)長度64給CH376,接著發(fā)送64個(gè)字節(jié)給CH376,然后PC把數(shù)據(jù)取走后CH376把中斷信號INIT置低,接著再發(fā)送一個(gè)長度6給CH376,接著發(fā)送6個(gè)字節(jié)給CH376,然后等待PC把數(shù)據(jù)取走,卻發(fā)現(xiàn)PC沒有把數(shù)據(jù)取到,因此,CH376遲遲不把中斷信號INIT置低,因而也無法發(fā)送UNLOCK_USB命令! 這是為什么呢?難道是因?yàn)橥ㄐ胚^程出錯(cuò)了嗎?


問題已解決!非常感謝~~


只有登錄才能回復(fù),可以選擇微信賬號登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频