Thông báo

Collapse
No announcement yet.

help!truyền kí tự qua rs232 bi sai!

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • help!truyền kí tự qua rs232 bi sai!

    e truyền kí tự từ thẻ từ qua pic rui từ pic truyền lên pc nhưng bi lỗi kí tự! vd id thẻ là 123456789, e dùng chươgn trình tẻminal nhận thì đúng là nó,e dùng chương trình của bác NgôHảiBắc (vs2010) thì nhận bi lỗi kí tự nó ra như thế này 123?4?5?6?78?9 ......các bác giúp e với !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

    oid CRS232TUTDlg::OnCommMscomm1()
    {
    UpdateData();
    // count+=1;
    VARIANT data;
    switch (m_mscomm1.get_CommEvent()){
    case 1: // comEvSend
    break;
    case 2: // comEvReceive
    data =m_mscomm1.get_Input();
    m_strReceive += (CString)data.bstrVal;
    if (count==500){
    m_strReceive="";
    count=0;
    }
    // UpdateData(FALSE);
    break;
    case 3: // comEvCTS


    /////////////////////////


    void CRS232TUTDlg::Settings(void)
    {
    // if port is already opened then close port.
    if( m_mscomm1.get_PortOpen())
    m_mscomm1.put_PortOpen(false);
    // Setting comport
    m_mscomm1.put_CommPort(m_cboComPort.GetCurSel()+ 1);
    // Setting Handshaking
    m_mscomm1.put_Handshaking(m_cboHandshaking.GetCurS el());

    // Thiet lap tan so bit du lieu bit stop
    CString strBitRate = getCurStrInCombobox(m_cboBitRate);
    CString strParity = getCurStrInCombobox(m_cboParityBit);
    CString strDataBit = getCurStrInCombobox(m_cboDataBit);
    CString strStopBit = getCurStrInCombobox(m_cboStopBit);

    CString strSetting;
    strSetting.Format(L"%s,%c,%s,%s",strBitRate,strPar ity[1],strDataBit,strStopBit);
    m_mscomm1.put_Settings(strSetting); //"9600,N,8,1");
    m_mscomm1.put_RThreshold(1); //
    // set for input direction
    m_mscomm1.put_InputLen(1); // Moi lan doc mot ky tu
    m_mscomm1.put_InBufferSize(1024);
    m_mscomm1.put_InputMode(0); // 0- text mode, 1- binary mode
    m_mscomm1.put_OutBufferSize(1024);
    m_mscomm1.put_PortOpen(true); // mo cong
    }

  • #2
    mình cũng bị lỗi như bạn, xin được giúp đỡ từ các cao thủ
    Last edited by tungoanh; 18-12-2012, 13:08.

    Comment


    • #3
      Hình như gửi dữ liệu từ vdk lên PC là gửi từng ký tự, vì thế chương trình trên pc phải cộng gộp các ký tự lại rồi mới hiện thị lên, cái này mình cũng chưa làm được, mong bác nào biết có thể giúp đỡ

      Comment


      • #4
        bạn kiểm tra tốc độ boarad xem. nguyên tắc gửi chuỗi ký tự vxl lên pc là gửi từng ký tự. pc nhận biết kết thúc một chuỗi bằng ký tự null. mình nhớ không lầm thì đó là ký tự 0

        Comment

        Về tác giả

        Collapse

        loiquang89 Tìm hiểu thêm về loiquang89

        Bài viết mới nhất

        Collapse

        Đang tải...
        X