Problemy z odczytem portu szeregowego w Delphi z TComPort - może asynchroniczna?

Transmisja szeregowa





Poprzedni Następny
Wiadomość
Spis treści
From: "PCAutor" <pio_czaj_at_nospam_poczta.onet.pl>
Subject: Transmisja szeregowa
Date: Thu, 8 Feb 2001 20:42:58 +0100


Witam!
Wlasnie robie program w Delphi, ktory ma komunikowac sie z pewnym uzadzeniem
przez port szeregowy.
Uzywam komponentu TComPort. Gdy polacze miedzy soba dwa komputery to
komunikuja sie bez problemu.
Ale gdy probuje wyslac znak z urzadzenia to program nie odczytuje portu.
Wszytkie ustawienia tzn. predkosc, porzystosc, bity styopu itp sa ustawione.
Byc moze przez to w urzadzeniu jest stosowana transmisja asynchroniczna.
czy mial ktos takie problemy ??
Jak je rozwiazac ?
Acha znaki wysylane przez urzadzenie sa identyczne jak te wysylane przez
komputer (na oscyloskopie)
Prosze o pomoc!
A moze ktos przeslalby mi jakies przylkadowe fragmenty kodu ?!?!?
Pomocy
Piotrek



Poprzedni Następny
Wiadomość
Spis treści
From: "peters" <peters_at_nospam_poczta.onet.pl>
Subject: Re: Transmisja szeregowa
Date: Thu, 8 Feb 2001 21:22:03 +0100


Robisz podstawowy blad: uruchamiasz dwa programy jednoczesnie.
Postaraj sie o program terminala na PC. Prosty program tego typu znajdziesz
na mojej stronie.
Uruchom transmisje ze swojego urzadzenia do terminala, potem podlacz
terminal do programu w Delphi i sprawdz czy Twoj program dziala a dopiero na
koncu probuj to co teraz

--
pozdrawiam, peters
peters_at_nospam_poczta.onet.pl
http://peters.republika.pl (strona Petersa dla elektronikow)



Poprzedni Następny
Wiadomość
Spis treści
From: Milosz Skowyra <mewash_at_nospam_bet.po.opole.pl>
Subject: Re: Transmisja szeregowa
Date: Fri, 09 Feb 2001 11:55:21 +0100


PCAutor wrote:

Byc moze przez to w urzadzeniu jest stosowana transmisja asynchroniczna.

Afaik pecetowy uart nie moze pracowac w innym trybie niz w transmisji
asynchronicznej.

czy mial ktos takie problemy ??
Jak je rozwiazac ?

Nasuwaja mi sie 2 problemy ktore mialem, mianowicie pecet jest troszke
wolny jak sie recznie obsluguje porty... dlatego jezeli wyslesz dane za
szybko w stosunku do obrobienia ich na pc to uart moze zapalac flage ze
poprzednia dana jest nieodebrana a juz jest nastepny bajt do odbioru i
cos sie wtedy kasztani. Ale ja to pisalem w pascalu wiec to troche inna
technologia.

Na poczatek poradze ci zebys podpial urzadzenie do portu, odpalil
program terminala (nawet glupi windziany hyperterm) i zobaczyl czy inny
program moze odbierac dane. Moze problem tkwi w niezupelnie 'takiej
samej' transmisji, ewentualnie zapisz to co otrzymales do pliku i
porownaj z oczekiwana zawartoscia.

--
Regards.
|-----------------------------------------------------|
| Milosz Skowyra |
| miloszek_at_nospam_fidonet.org.pl 2:484/2.47 on fidonet |
| GSM Mobile +48608888899 |
|-----------------------------------------------------|

Poprzedni Następny
Wiadomość
Spis treści
From: "Piotr Laskowski" <pitlab_at_nospam_kki.net.pl>
Subject: Re: Transmisja szeregowa
Date: Fri, 9 Feb 2001 20:23:05 +0100


Wlasnie robie program w Delphi, ktory ma komunikowac sie z pewnym
uzadzeniem
przez port szeregowy.
Uzywam komponentu TComPort.

Napisałem kilka programów zarówno dla '51 jak i H8S, które komunikowały się
z programem napisanym w Delphi, chyba nawet z tym samym komponentem :-)

Gdy polacze miedzy soba dwa komputery to komunikuja sie bez problemu.
Rozumiem że w takim raze problem leży po stronie kontrolera - tylko nie wiem
czego uzywasz :-)

Ale gdy probuje wyslac znak z urzadzenia to program nie odczytuje portu.
Wszytkie ustawienia tzn. predkosc, porzystosc, bity styopu itp sa
ustawione.
Byc moze przez to w urzadzeniu jest stosowana transmisja asynchroniczna.
Acha znaki wysylane przez urzadzenie sa identyczne jak te wysylane przez
komputer (na oscyloskopie)
Mogło by się tak dziać jeżeli miałbyś różne prędkości (niestandardowy
kwarc).

A moze ktos przeslalby mi jakies przylkadowe fragmenty kodu ?!?!?
Idą na priv.

Piotrek.