Hirdetés

Új hozzászólás Aktív témák

  • don_peter

    senior tag

    Uraim lenne egy kérdésem a következő programmal kapcsolatban.
    Írtam egy kis rutint ami 0x20-tól 0x32-ig küld COM porton egy adatsort.
    Minden egyes adat után vár egy választ a célhardvertől, de van olyan eset amikor nem jön.
    Ekkor a program vár és ez felfogható egyfajta fagyásnak is mert nem jön soha válasz.
    A cél hardverrel van gondolom, hiba és ezért akad le a program.

    Van mód arra, hogy beállítsak egy időlimitet ami megszakítja a programom futását?
    A kód:
    byte[] buffer = new byte[3];
    buffer[0] = 0;
    buffer[1] = 0xff;
    buffer[2] = 0x20;
    while (a < 1) {
    if (buffer[2] >= 50) break;

    serialPort1.Write(buffer, 2, 1);
    textBox1.Text += buffer[2].ToString("X") + "\r\n";
    serialPort1.Read(buffer, 0, 1);

    buffer[2]++;
    }

    Valami ilyen timeout vagy ilyesmire gondolok.
    A lényeg, hogy ha 1-2mp-ig nem jön válasz akkor szakítsa meg a program futását.
    Előre is köszi.

    [ Szerkesztve ]

    ----== Neo Geo és Arcade Fórum : www.neo-geo.hu ==----

Új hozzászólás Aktív témák