RTV forum PL | NewsGroups PL

Transmisja UART w jedną stronę z 89S8252 - brak danych z PC do uC?

Transmisja w jedna strone ?!

NOWY TEMAT

elektroda NewsGroups Forum Index - Elektronika Polska - Transmisja UART w jedną stronę z 89S8252 - brak danych z PC do uC?

I:D
Guest

Fri Oct 29, 2004 1:15 am   



Jestem już powoli wkur...(godz 4:05) Nie mam pojecia dlaczego transmisja
miedzy komputerem, a plytką z uC: 89S8252 przebiega tylko w jedna strone.
Moge przesłać dane z uC na kompa, ale w drugą strone już NIE .
- Próbowałem hyperterminali, własnego programu ... i nic. Przy czym mój
program w loopback-u działał bez zarzutów (loopback - fajne okreslienie Smile
fajne - znaczy się fachowe Smile)
- Próbowałem wymienić układ MAX232 na płytce z uC i też bez skutku.
Poprostu nie jest wystawiany bit odbioru RI.
Czy możliwe jest, że parametry transmisji po stronie uC i programu komp.
mam różne? Choć powinny być te same :
- tryb 1 dla 89S8252: (asynchro. 8-bit), a dokładniej:
SCON=0x53; TMOD=0x20; TR1=1; TH1=-13; PCON = PCON | 0x80; /* 9600BPS
dla 24MHz */
- i tryb 8bitowy z1 bitem stopu i NOPARITY w programie po stronie kompa
(VisualC++).

Jacek \"Plumpi\"
Guest

Fri Oct 29, 2004 4:37 am   



Być może trzeba wstawić inny kwarc.
24MHz daje bład transmisji szeregowej 0,16%
W zasadzie nie jest to dużo i raczej powinno wszystko działać, jednak
spróbuj go zmienić.
Najbardziej zbliżona, odpowiednia wartość, która daje błąd 0% to:
22,118400 MHz
Być może w tym tkwi problem.

--
Pozdrawiam
Jacek "Plumpi"
plumpixjr@wp.pl
Z adresu e-mailowego suń iksa - zabezpieczenie antyspamowe

neuron
Guest

Fri Oct 29, 2004 6:57 am   



Użytkownik "IVery Happy" <damianbalboa@vp.pl> napisał w wiadomości
news:cls93e$31a$1@news.onet.pl...
Quote:
Jestem już powoli wkur...(godz 4:05) Nie mam pojecia dlaczego transmisja
miedzy komputerem, a plytką z uC: 89S8252 przebiega tylko w jedna strone.
Moge przesłać dane z uC na kompa, ale w drugą strone już NIE .
- Próbowałem hyperterminali, własnego programu ... i nic. Przy czym mój
program w loopback-u działał bez zarzutów (loopback - fajne okreslienie Smile
fajne - znaczy się fachowe Smile)
- Próbowałem wymienić układ MAX232 na płytce z uC i też bez skutku.
Poprostu nie jest wystawiany bit odbioru RI.

osobiscie mialem 2 razy podobne wpadki - raz mialem zamieniona w kablu mase
z jednym z sygnalow (nie pamietam rx czy tx ) i o dziwo w jedna strone
dzialalo Smile
innym razem nie moglem nawiazac transmisji ktora poszla po podlaczeniu leda
miedzy maxem a prockiem (do vcc)- okazalo sie ze zainicjowalem odpowiednio
portow.

wojtek

mavs[NOSPAM]
Guest

Fri Oct 29, 2004 7:11 am   



Dnia 2004-10-29 04:15, Użytkownik IVery Happy napisał:
Quote:
Jestem już powoli wkur...(godz 4:05) Nie mam pojecia dlaczego transmisja
miedzy komputerem, a plytką z uC: 89S8252 przebiega tylko w jedna strone.
Moge przesłać dane z uC na kompa, ale w drugą strone już NIE .
- Próbowałem hyperterminali, własnego programu ... i nic. Przy czym mój
program w loopback-u działał bez zarzutów (loopback - fajne okreslienie Smile
fajne - znaczy się fachowe Smile)
- Próbowałem wymienić układ MAX232 na płytce z uC i też bez skutku.
Poprostu nie jest wystawiany bit odbioru RI.
Czy możliwe jest, że parametry transmisji po stronie uC i programu komp.
mam różne? Choć powinny być te same :
- tryb 1 dla 89S8252: (asynchro. 8-bit), a dokładniej:
SCON=0x53; TMOD=0x20; TR1=1; TH1=-13; PCON = PCON | 0x80; /* 9600BPS
dla 24MHz */
- i tryb 8bitowy z1 bitem stopu i NOPARITY w programie po stronie kompa
(VisualC++).

Bledow po drodze mogles narobic bardzo duzo! Od plytki drukowanej,
poprzez odwrotne wlutowanie elementu do kabelka polaczeniowego i samego
programu w uC. Blad przy tym kwarcu jest niezerowy ale to nie znaczy ze
przez linie transmisyjna bedzie wiało ciszą. Bedzie cos dochodzic ale
moze byc przeklamane. Poza tym jak napisales - nie masz problemow z
przesylem w jedna strone wiec to nie to. Ciezko cos powiedziec.

pozdr,
mavs

entroper
Guest

Fri Oct 29, 2004 7:45 am   



"IVery Happy" <damianbalboa@vp.pl> wrote in message
news:cls93e$31a$1@news.onet.pl...
Quote:
Jestem już powoli wkur...(godz 4:05) Nie mam pojecia dlaczego
transmisja
miedzy komputerem, a plytką z uC: 89S8252 przebiega tylko w jedna
strone.


(...)

nic nie napisales o tym, czy faktycznie cokolwiek z PC wychodzi
(sprawdz na jak najmniejszej predkosci nawet zwyklym miernikiem
uniwersalnym, czy cos w ogole "drga" na taj linii). Bo jesli np. nie
skonfigurowales w pelni portu COM w komputerze, to masz wlaczone
sterowanie przeplywem i musisz zastosowac kabel null-modem...
Rozumiem, ze loopbacka probowales na uC, ale nie zaszkodziloby
sprobowac go rowniez w PC :)

pozdrawiam
entrop3r

Pawel \"O'Pajak\"
Guest

Fri Oct 29, 2004 8:02 am   



Powitanko,
Quote:
Przy czym mój
program w loopback-u działał bez zarzutów

A zwarles 2-3 w kablu, czy za MAXem?
"Blad kwarcu" spowodowalby odebranie w najgorszym wypadku "smieci",
ale_cos_bys_odebral.
"TH1=-13" ?
Pozdroofka,
Pawel Chorzempa
--
"-Tato, po czym poznać małą szkodliwość społeczną?
-Po wielkiej szkodzie prywatnej" (kopyrajt: S. Mrożek)
Przy odpowiadaniu na priv zastanow sie nad moim adresem;-)

I:D
Guest

Fri Oct 29, 2004 1:56 pm   



Chyba już doszedłem co nie gra?!
1) Zrobiłem połączenie bezpośrednio pinów P3.0(RxD) i P3.1(TxD) i backloop
dla uC DZIAŁAŁ.
2) To samo dla wyprowadzeń MAX232 od strony 5V - DZIAŁAŁ.
3) I wyprowadzeń po stronie 12V - też DZIAŁAŁ.
4) Zrobiłem backloopa na kompie, przyczym połączenie 2-3 zrobiłem za
kablem - DZIAŁAŁ.
Wnioski (mam nadzieję trafne):
1) uC jest sprawny.
2) Połączenia od uC do MAX232 są dobre.
3) Kostka MAX232 działa bez zarzutów.
4) Kabel jest dobrze połączony: 5(masa), 2-3 (TxD-RxD) z przeplotem.

Jednak gdy zrobiłem backloopa na ostatnim możliwym elemencie wpływającym
na sygnał RS232 od strony płytki z uC, czyli na pinach gniezda DB9
przylutowanego do płytki (2 połącz. z 3), to z zachwytem :)stwierdziłem, że
NIE DZIAŁA!
Tezy:
1) Gniazdo DB9 jest źle przylutowane (np. zimny lut)
2) Ścieżki lutownicze łączące gniazdo ze scalakiem MAX232 są przerwane.
3) Chochliki istnieją.
Wnioski:
1) BACKLOOP to jest to. Polecam każdemu kto ma problem z diagnostyką łącza.

Mam nadzieję, że szybko napiszę która z wyżej przedstawionych tez jest
prawdziwa.

DZIĘKI ZA POMOC!

I:D
Guest

Fri Oct 29, 2004 10:13 pm   



Ostateczna diagnoza:
Niestetyt, żadna teza nie była prawdziwa. A dokładniej ścieżki na płytce
prowadzące do gniazda były źle poprowadzone. Pin piąty na kablu (prawidłowo
połączonym) odpowiadał jedynce na płytce.
A to wszystko wina wydawnictwa BTC (Bałwany Tumaki i Ciołki). Kupiłem u
nich płytkę do uC 89S8252 i oczywiscie książkę "Mikrokontrolery 8051 w
praktyce". Pomijając, że książka składa się w większości z informacji
katalogowych (i kosztuje 45zł), to jak oni mogą sprzedawać hurtowo wadliwie
skonstruowane płytki!!! I jeszcze żeby napisali jakąś erratę, ale gdzie tam.
Zapłaciłem za płytkę ok. 27zł(+10zł za paczkę) i spodziewałem się, że nie
sprzedają ich bez sprawdzenia.
Jednym słowem AMATORZY.

PS:
45zł+27=72zł - nieźle zarobili jak na AMATORÓW. ( Nie będę już podkreślał
mojego cennego czasu Sad )

mavs[NOSPAM]
Guest

Sun Oct 31, 2004 12:20 pm   



Dnia 2004-10-30 01:13, Użytkownik IVery Happy napisał:
Quote:
PS:
45zł+27=72zł - nieźle zarobili jak na AMATORÓW. ( Nie będę już podkreślał
mojego cennego czasu Sad )



Nastepnym razem dobrze sprawdz nie swoja robote...
Jednym slowem: chcesz zeby cos bylo zrobione dobrze, zrob to sam.
Niestety nie mozna ufac bezgranicznie temu co sie kupuje w
wydawnictwach. Wlasciwie to wydawnictwo pewnie ma niewiele wspolnego z
czlowiekiem ktory plytki zaprojektowal i wykonal. Ja mam z btc ksiazke o
prockach z serii AVR. Nie dosc ze w przelocie widzialem bledy, to
jeszcze sie okazalo ze autor ma wiele wspolnego z wydawnictwem AVT (w
ksiazce sa nawet uklady z czasopisma EP) o ktorym juz nie mam sily sie
wypowiadac.

pozdr,
mavs

elektroda NewsGroups Forum Index - Elektronika Polska - Transmisja UART w jedną stronę z 89S8252 - brak danych z PC do uC?

NOWY TEMAT

Regulamin - Zasady uzytkowania Polityka prywatnosci Kontakt RTV map News map