用BUSHOUND看,你要你添入数据的格式是正确的肯定是没什么问题的。 检查一下你收到的数据是否正确,用串口打印出来看看,就接一个TX应该不是狠麻烦。然后不要程序尽可能简单些,把端点1的数据去掉,先不要操作端点1,一步一步的调试,应该狠快的。 另外如果真的是接收到的数据错误的,那么狠可能是读写时序有问题。
请问在CH372UPDOWN上位机程序中端点2上传的线程部分程序里 if(pDlg->m_open && pDlg->m_trdup2) //设备打开,线程启动 { /**************在线程中用CreateFile打开设备,因为每个句柄同一时候只能执行一个API**************************/ if ( pDlg->T2UHandle != INVALID_HANDLE_VALUE ) { // 打开设备成功 datalen = min( pDlg->m_uplen2, sizeof(mBuf)); dlen = datalen; if(CH375ReadData((ULONG)pDlg->T2UHandle,&mBuf[0],&dlen)) {//操作成功输出数据 CHAR buffer[mCH375_PACKET_LENGTH*8*2+1]; ULONG i,j; for(i=0,j=0;i{ sprintf(&buffer[j],"%02X ",mBuf); j += 3; } buffer[j] = '\0'; //每次数据用空格隔开 ShowUpdata(buffer,j); //显示数据 {//更新长度显示 char tem[50]=""; UpCount=UpCount+dlen; sprintf(tem,"Up: %d",UpCount); SetDlgItemText(pDlg->m_hWnd,IDC_UpCount,tem); } } else if ( !pDlg->m_close ) MessageBox(NULL,"端点2上传失败!如果设备断开过那么请先关闭本程序","DEBUG372",MB_OK|MB_ICONSTOP); } } 请问在ShowUpdata(buffer,j); //显示数据 这句后面的中括号前是不是少了什么代码,怎么直接在函数调用后