請問為什么不能循環(huán)中斷傳輸呢(貼函數(shù))

RT 上位機只能接受到一次端點1傳來的數(shù)據(jù)48,意圖是循環(huán)接收。 下位機用的8051,程序如下: 。。。。 void mCh375Interrupt( ) interrupt 0 { 。。。。。。 else if ( InterruptStatus == USB_INT_EP1_IN ) { CH375_WR_CMD_PORT(CMD_UNLOCK_USB); FLAG_INT_WAIT = 0; } void LoadIntData( unsigned char c1 ) { unsigned int i; for ( i=1000; i!=0; i-- ) { if ( FLAG_INT_WAIT == 0 ) break; } EX0 = 0; CH375_WR_CMD_PORT(CMD_WR_USB_DATA5); Delay_us(2); CH375_WR_DAT_PORT(1); FLAG_INT_WAIT = 1; CH375_WR_DAT_PORT(c1); EX0 = 1; } main( ) { unsigned char c,i; WDTCN = 0xde; //關閉看門狗 WDTCN = 0xad; OSCILLATOR_Init(); //振蕩器,端口設置 PORT_Init(); Delay_ms(50); CH375_PORT_INIT(); CH375_Init(); FLAG_INT_WAIT = 0; EA = 1; LoadIntData( 0x30 ); while (1); { Delay_ms(50); LoadIntData( 0x40 ); } }

上位機程序: 。。。。。 VOID CALLBACK mInterruptEvent( PUCHAR iBuffer ) { printf("interrupt receive success %d \n",iBuffer[0]); } void main ( ) { 。。。。。 printf( "*** Load DLL: CH375DLL.DLL \n" ); if ( LoadLibrary( "CH375DLL.DLL" ) == NULL ) return; printf( "*** CH375OpenDevice: 0# \n" ); if ( CH375OpenDevice( 0 ) == INVALID_HANDLE_VALUE ) return; CH375SetIntRoutine(0,mInterruptEvent); Sleep(50); while(1); }

問題好像解決了,要等待第一次中斷上傳成功了才能進行第二次發(fā)送。 參考了帖子http://m.findthetime.net/bbs/View.asp?S=101&I=32358


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

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