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
fajne - znaczy się fachowe

)
- 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 "I

" <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
fajne - znaczy się fachowe

)
- 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
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 I

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
fajne - znaczy się fachowe

)
- 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
"I

" <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

)
mavs[NOSPAM]
Guest
Sun Oct 31, 2004 12:20 pm
Dnia 2004-10-30 01:13, Użytkownik I

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

)
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