atmega8535 i rs232

Jan 26, 2005 10 Replies

Majstruje takie coś jak w temacie, LCD już działa, programować mogę ale rs232 mi nie idzie. Całość działa na wewnętrznym oscylatorze i nie wiem jak ustawić baud i crystal aby toto zaskoczyło. testuje narazie czymś takim (w bascomie):



$regfile = "m8535.dat" $crystal = 1000000 $baud = 9600



Config Lcd = 16 * 2 Cls



Do Print "aqq na term " Lcd "x" Wait 1 Loop End



i na wyświetlacz idą xy a na rssie nic nie słychać.



rs podpięty przez max232 na portach d0 i d1 Na terminalu czasami jakiś krzak wyskoczy jak zmieniam crystal i baud, ale coś jest chyba nie tak.


zmien $baud na 4800: b³ad bedzie wynosi³ 0,16%

przy 9600 wynosi 6,99%

Jak sa krzaki oznacza to ze maja inna szybosc, moze to powdowac wlasnie ten blad Przejrzyj sobie wyniki kompilacji CRTL+W (Show result) tam masz podany b³ad jaki wynika z zale¿no¶ci kwarcu i baudu.

Pzd Micha³

już nawet na 1200 i 300 testowałem, to wygląda poważniej, może coś z kabelkiem, mam tylko 3 żyły.

tzn krzaki, ale baaardzo żadko, raz na jakiś czas, przy różnych wartościach crystal

Sprawdz najpierw sam kabel. Na koncu od strony uP zewrzyj pin 2 i pin3 Pisz cos w terminalu, powinno to samo wracaæ Pozniej wyjmij uP z podstawki wlacz zasilanie zeby max byl zasilany i tez zewrzyj PD0 i PD1 Jesli dziala to znaczy ze pewnie masz pomylone linie TXD i RXD Pamieaj ze laczysz je na krzy¿ PC tx <> rx uP PC rx <> tx uP no i musisz miec jeszcze GND miedzy PC a uP. Micha³

A gdzie masz konfiguracjê uart-a?

Dodaj co¶ takiego: Config Serialin = Buffered , Size = 10 Config Serialout = Buffered , Size = 10

musi dzia³aæ.

Pozdrawiam Piotrek

A gdzie masz konfiguracjê uart-a?

Dodaj co¶ takiego: Config Serialin = Buffered , Size = 10 Config Serialout = Buffered , Size = 10

musi dzia³aæ.

Pozdrawiam Piotrek

Wypróbuje. Nie chce odpalać na zewnętrznym oscylatorze, bo już jedną kostke zablokowałem przełączająć oscylator :) A zależy mi na rs (właściwie to konieczność :))) bo aplikacja to terminal :)

tak, mase mam :) 3 druciki, pod piny 2,3 i 5. A czy w RS232 przy PC nie muszę jakiś zworek walnąć? Chociaż wiele sprzętu odpalałem bez tych zworek np GPS<>PC dlatego ich nie lutowałem.

Sprawdze tak jak polecasz, faktycznie, wyjme uP, zewre piny za maxem i powinienem uzyskać echo przez maxa. Jak do tego miejsca zadziała to już tylko soft.

Co do skrzyżowanych linii to próbowałem i tak i tak.

w takim razie zewnertzny kwarc to podstawa ze wzgledu na koniecznosc wyeliminowania bledow o ktorych wspominal juz jeden z kolegow

Kwarc mam na płytce, ale boję się przełączać aby drugiego amega nie przyblokować :) Na wewnętrznym oscylatorze kwarc nie jest nawet zasilany albo ma składową stałą 0 (nie mam oscyloskopu) ale wydaje mi się że powienin mieć napięcie. Wieczorkiem wypróbuje wszystkie wasze zalecenia :) W sumie kwarc by się przydał, ale terminal na 20x4 to 1200 aż za świat, a tam stopa błędów jest akceptowalna.

Uff, było wszystko źle ;) max źle podpięty do zasilania, kondensatorów, później już echo za maxem szło ale jeszcze pd1 i pd0 były odwrócone :) Program poszedł od ręki. Wielkie dzięki wszystkim za pomoc!

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required