为什么我读信息只有一个数?[原创]

如题;我在用下位机(普通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( ); /* 接收命令包的数据 */ }



...



counter reset



kk


loooooooooooooooooooooooooooook


fk


你上位机下传了多少数据,上位机你可以用DEBUG372来调试下位机 如果下传的数据长度不是0,那么接下来肯定有数据


麻烦


kkkk


fgdg


芝麻开门


程序不太对劲


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