none
Problem with SerialPort Read - Urgent

    Question

  • hi

     

    I Nedd help to read data form searilport

     

    for Example

     

     

    byte[] byt = new byte[23];

    byt[0] = byte.Parse("3A", NumberStyles.HexNumber);

    byt[4] = byte.Parse(txtMRP.Value.ToString()); //int iMRP = 5;

    byt[ 6 ] = byte.Parse(txtEQP.Value.ToString()); ; //int iEQP = 5;

    byt[ 8 ] = byte.Parse(txtBCP.Value.ToString()); //int iBCP = 5;

    byt[10] = byte.Parse(txtBPP.Value.ToString()); //int iBPP = 5;

    byt[12] = byte.Parse(txtAFI.Value.ToString()); //int iAFI = 5;

    byt[14] = byte.Parse(txtBEM.Value.ToString()); //int iBEM = 100;

    byt[16] = byte.Parse(txtTEM.Value.ToString()); //int iTEM = 200;

    byt[18] = byte.Parse(txtSPDI.Value.ToString()); //int iSPDI = 40;;

     

     

    byt[21] = byte.Parse("0D", NumberStyles.HexNumber);

    byt[22] = byte.Parse("0A", NumberStyles.HexNumber);

    com1.Write(byt, 0, 23);

     

    assume the above byt  is  one packet

     

    here   always byt[0] is start byte and byt[22] is end byte

    When i read the data,  i am not able get the 23 bytes.  how do i get that exact byt in com2_DataReceived  event.

     

    void com2_DataReceived(object sender, SerialDataReceivedEventArgs e)

    {

     

    byte[] getBytes = new byte[ 23 ];

    com2.Read(getBytes, 0, 23);

     

    for (x = 0; x <= 22; x++)

    {

    txtRead.AppendText(getBytes[x].ToString() + " - ");

    }

    txtRead.AppendText("\n");

     

    }

     

     

    output  is

     

    58 - 0 - 0 - 0 - 5 - 0 - 5 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 -
    5 - 0 - 5 - 0 - 5 - 0 - 100 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 -
    200 - 0 - 40 - 0 - 0 - 13 - 10 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 -

     

     

    In above case the DataReceived  event is raised 3 times

     

    expected result is

     

    58 - 0 - 0 - 0 - 5 - 0 - 5 - 0 - 5 - 0 - 5 - 0 - 5 - 0 - 100 - 0 - 200 - 0 - 40 - 0 - 0 - 13 - 10

     

     

     

    Please help.....

     

    Thursday, April 10, 2008 7:30 AM