logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Delphi – jak otworzyć port COM bez zmiany stanu DTR dla DS89C420 przez RS232?

Wojtek44 18 Gru 2007 19:58 1062 2
REKLAMA
  • #1 4601555
    Wojtek44
    Poziom 27  
    Posty: 1065
    Pomógł: 96
    Ocena: 72
    Witam
    Komunikuję się przy pomocy programu napisanego w delphi z procesorem DS89C420 po RS232.

    Do programowania procesora w układzie wykorzystuję oprogramowanie Dallasa MTK2 ,które informuje procesor ,że będzie programowany ustawiając niski stan na linii DTR portu com , który to stan ustala odpowiednie stany na nogach procesora przygotowując go do programowania.
    Oczywiście procesor po wejściu w tryb programowania (nawet nie programując go ) jest resetowany.

    Problem mój polega na tym ,że chcąc połączyć się z cały czas pracującym procesorem otwieram port com poleceniem createfile(...) i na linii DTR pojawia mi się na chwilę stan niski co resetuje mi procesor.

    Aby było ciekawiej taka akcja ma miejsce tylko pierwszy raz po włączeniu komputera. Kolejne zamykanie i otwieranie portu nie resetuje mi procesora.

    Czy zna ktoś sposób otwarcie portu com aby podczas tego zabiegu linia DTR nie zmieniała stanu?

    Wojtek
  • REKLAMA
  • #2 4601887
    sivex
    Poziom 27  
    Posty: 815
    Pomógł: 113
    Ocena: 25
    A może to jest tak, że przy starcie komp. stan DTR jest wysoki i po włączeniu programu zmienia się na niski co powoduje reset. Więc po kolejnych włączeniach stan nie zmienia się (bo jak z niskiego na niski), więc tym samym nie resetuje procka.
    Jeżeli tak jest (sprawdź miernikiem) jedyne co można poradzić to to ustawić DTR na niski i dopiero podłączyć hardware.

    pozdr.
  • #3 4602340
    Wojtek44
    Poziom 27  
    Posty: 1065
    Pomógł: 96
    Ocena: 72
    Urządzenie wykonane na procesorze jest do komputera podłączone na stałe ( nie jest odłączane).
    Pracę swą rozpoczyna po pojawieniu się napięcia na linii 5V zasilacza komputera.
    Jest resetowane 1 RAZ w trakcie uruchamienia się komputera ale jeszcze przed uruchomieniem się windowsa - to mi nie przeszkadza.
    Pracuje ciągle podczas pracy komputera.

    Mój program w delphi ma natomiast tylko czasami ( w razie potrzeby) zostać uruchomiony, otworzyć port com pobrać dane z procesora i zamknąć port com. A on mi podczas otwierania portu resetuje procesor.

    Dla ścisłości tak jak napisałem wyżej: linia DTR cały czas jest w stanie wysokim tylko podczas otwierania portu (podczas pierwszego otwierania portu po uruchomieniu komputera) NA CHWILĘ przechodzi w stan niski i resetuje mi procesor.
REKLAMA