1. 现在我可以让收到的数据自动换行了,可是,超过14字节的数据怎么自动变成两行以上显示了呢我上传了图片:
http://sz.photo.store.qq.com/http_imgload.cgi?/rurl2=c6dca4ba72534e8fc076f2ef3792a0769b88fd14b11780117af7e259a0c16978cdc0a2dfa7e9bed0ed911bd4a64e50e9608e2c8a198ba12d090d4d0437bb277282a8657b7d8b00cb172c230f5f252996ebd4f0472. 我想实现的效果是下图这样的啊
http://sz.photo.store.qq.com/http_imgload.cgi?/rurl2=0e72ff5d5dfa2c54485d0b472a500326680e54de87fa3ad8e2f72f7907991dad1d6e2bbe653c2b9225f515c6e4e30c452d8bdd32084b68bd4a9dc5cbdcc5b1ecee1eb9982163316ebe7e8c8b0748f1846df71708

解决方案 »

  1.   

    把你的buffer弄大一点,设置它一次读取30,然后再\n\r
      

  2.   

    void CKtDlg::OnOnComm() 
    { VARIANT variant_inp;
    COleSafeArray safearray_inp;
    LONG len,k,n,add;
    BYTE rxdata[1024]; 
    CString strtemp,temp,x,y,i,j,next;
      if(comm.GetCommEvent()==2)     //接收数据
    {
    variant_inp = comm.GetInput();   
    safearray_inp = variant_inp;
    len=safearray_inp.GetOneDimSize();
    for(k=0;k<len;k++) 
    safearray_inp.GetElement(&k,rxdata+k);
    for(k=0;k<len;k++)            
    {
    BYTE bt=*(char*)(rxdata+k);
    strtemp.Format("%03d",bt); 
    temp.Format("%02X ",bt);
    m_RevData = m_RevData + strtemp;
      }
    } m_RevData+="\r\n";
    UpdateData(false);
    }
    1. 我在串口中接收数据啊2. 发送多少字节就接受多少字节