Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Comport (delphi) transmisja - wysiadam

wieczus 25 Mar 2006 21:31 1539 2
  • #1 25 Mar 2006 21:31
    wieczus
    Poziom 14  

    Witam,

    Musze napisac kawalek programu robiacy:

    Inicjalizacja transkisji, wysylanie 260 bajtow kodu aplikacji a nastepnie po jakis 3 sekundach odbior 256 bajtow danych. Zrobilem to tak:

    comport1.connected:=true;
    comport1.clearbuffer(true,true);
    command:=$0B; // bootloader
    comport1.Write(command,1);
    comport1.Write(rdata_loader,260); // zaladuj kod do symulatora
    //
    counter:=0;
    loop:
    sleep(15);
    if comport1.InputCount >255 then goto loop1;
    counter:= counter+1;
    if counter>300 then goto loop1;
    goto loop;
    loop1:
    comport1.read(data,comport1.inputcount);

    Wszystko dziala do punktu odbioru danych. Symulator zachowuje sie poprawnie tzn wskazuje zaladowanie danymi i wysyla dane. Zaznaczam, ze fabryczny program pod dos dziala bezblednie

    pzdr Tomek

    0 2
  • #2 28 Mar 2006 16:54
    wicy
    Poziom 22  

    A komponent nie ma procedur obsługi zdarzeń?? Lepiej wrzuć comport1.read w taką procedurę. Nie wiem co to za komponent, ale może ma coś jak obsługa zapełnionego bufora odbioru? Ustawiasz bufor na 260 i robisz odczyt w zdarzeniu.

    0
  • #3 31 Mar 2006 20:48
    wieczus
    Poziom 14  

    Witam,

    Dzieki za pomoc, problem rozwiazany... odczyt asynchroniczny i analiza naglowka zalatwily temat.

    pzdr

    0