如题;我在用下位机(普通51单片机)读数据时只能读出其数据长度,而后面的数据读不出,所有的读出值都是数据长度!这个问题困扰我好几天了!请高手指教! 下面是我的中断程序 void mCH375Interrupt( void ) interrupt 0 { uchar cnt; uchar dat;
CH375_WR_CMD_PORT( CMD_GET_STATUS ); #define IntStatus dat /* 节约一个变量存储单元 */ CH375_WR_CMD_PORT( CMD_GET_STATUS ); /* 获取中断状态并取消中断请求 */ delay(100); IntStatus = CH375_RD_DAT_PORT( ); /* 获取中断状态 */ if ( IntStatus == USB_INT_EP2_OUT ) { /* 批量端点下传成功,接收到命令包 */ CH375_WR_CMD_PORT( CMD_RD_USB_DATA ); /* 从当前USB中断的端点缓冲区读取数据块,并释放缓冲区 */ delay(100); cnt = CH375_RD_DAT_PORT( ); /* 首先读取后续数据长度 */
for(i=0;i { buf[i] = CH375_RD_DAT_PORT( ); /* 接收命令包的数据 */ }