怎么不能循环发送是数据啊[求助]

上位机用的DEBUG372,可以向上位机发送数据,但是不管是端点1或者2,都只能发送一次,不能循环发送,然后375必须复位才能再次操作,很是郁闷,上位机是VC写的,我也看不大懂,只会改个界面。 另外,用上位机给单片机下传数据也不行,显示是下传了64字节数据,但是在上传端点又看不到取反的数据。求高手指教啊

我们的DEBUG程序是为客户调试方便和提供一个应用层的例子程序! 你看不到上传数据有两种可能: (1)下位机接收完后取反后写入上传端点缓冲区 (2)你要点击一下上传按键才能传上去


我是按照要求来的啊 ,程序是参考的test.c写的,可以简单的发送数据,也可以看到,但不能循环发送,怎么点按键都没用。我把程序贴出来,请帮我再看下:

void fasong(){ unsigned char i; xWriteCH375Cmd( CMD_WR_USB_DATA7); xWriteCH375Data( length ); /* 首先写入后续数据长度 */ for ( i = 0; i < length; i ++ ) xWriteCH375Data( ~buffer[ i ] ); /* 数据取反后返回,由计算机应用程序测试数据是否正确 */ }

#pragma vector=PORT1_VECTOR __interrupt void PORT1(void) { unsigned char i; //unsigned char buffer[64]; unsigned char InterruptStatus; xWriteCH375Cmd( CMD_GET_STATUS ); /* 获取中断状态并取消中断请求 */ InterruptStatus = xReadCH375Data(); /* 获取中断状态 */ P1IFG &=~BIT4; switch (InterruptStatus) { case USB_INT_EP2_OUT: {xWriteCH375Cmd( CMD_RD_USB_DATA ); /* 从当前USB中断的端点缓冲区读取数据块,并释放缓冲区 */ length = xReadCH375Data( ); for ( i = 0; i < length; i ++ ) {buffer[ i ] = xReadCH375Data( ); } /* 接收数据包 */ fasong(); break;} case USB_INT_EP2_IN:/* 批量数据发送成功 */ {xWriteCH375Cmd( CMD_UNLOCK_USB ); /* 释放当前USB缓冲区 */ fasong(); break;} default: { /* 其它中断,未用到,解锁后退出即可 */ xWriteCH375Cmd( CMD_UNLOCK_USB ); /* 释放当前USB缓冲区 */ break; } } }


哪位大虾帮我看看啊 怎么修改上位机程序,使它不用点击上传键,一直发送数据啊


不是的,我们的DEBUG程序就要这样做,点击一次收一次数据,不是下位机的问题!你要修改上位机才可以. 你参考一下我们提供的上位机代码进行修 改


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