Hirdetés

Keresés

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

  • Dezsi82

    tag

    válasz Szirty #5118 üzenetére

    Nem tudom egyszerűbb-e adatküldéssel, hibakezeléssel, összehasonlítással foglalkozni mint egyszerűen figyelni egyetlen bit állapotát.
    Nos, én viszont tudom. A soros port alapvetően kommunikációra lett kitalálva, nem arra, hogy egy, egy tüskéjén megállapítsuk, van-e feszültség. Tehát mivel a fejlesztő környezetek többsége felkészült ilyenre, így mondjuk egy "bonyolult" kommunikációs megoldás így néz ki:
    var
    Receivebuffer:array of char;
    begin
    Comport1.Open;
    SetLength(ReceiveBuffer,1);
    while True do
    begin
    ReceiveBuffer[0]:=' ';
    Comport1.WriteStr('X');
    Comport1.Read(ReceiveBuffer,Length(ReceiveBuffer));
    if ReceiveBuffer[0]<>' '
    Then 'Relé Zárva'
    Else 'Relé nyitva';
    end;
    end;
    ugyanakkor az "egyszerű" bit lekérdezés során olyan windows apikba kell belemenni, ami egy kezdő számára egyáltalán nem egyszerű. (És ezzel nem a kérdező programozási tapasztalatát saccolgatom, csak általánosságban összehasonlítok)
    Akkor jön a krix-krax
    Nem baj, ha az, tudjuk, hogy a relé zárt. Bár én már sajnos többször kellett ezt alkalmazzam, de még nem tapasztaltam
    Megtelik a vételi puffer, vagy épp nem ürül ki, jönnek a hibák...
    Nincs mitől megtelnie, hiszen beolvassuk. A küldési meg ismét nem tud megtelni, hiszen a programsor akkor fut tovább, amikor már az adat elment.
    Természetesen működhet így is
    Nem működhet, működik :)
    nekem mégis olyan mint elefánt a porcelán boltban.
    A hardveres konverter, WinAPI-val számomra meg ágyúval verébre esete, de ízlések és pofonok különbözőek

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