Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

[BASCOM]Atmega8 problem z komunikacją RS232 (komenda print)

Ture11 08 Mar 2009 20:24 3043 6
  • #1
    Ture11
    Level 38  
    Witam.
    Wiem, że te problemy pojawiają się często, ale zwracam się do Was z prośbą o pomoc.
    Mam problem z komunikacją w Bascomie, otóż gdy każe prockowi np. print "TEKST" to w terminalu pojawiają się znaczki, zygzaczki, itp.
    Nic co byłoby podobne do mojej komendy.
    W czym może być problem?
    Dodam, że próbowałem komunikacji w różne sposoby; różne baudraty, różne ustawienia kwarcu (kwarc w tym układzie jest 32,768 kHz i jest to ciekawostka...) a także próbowałem zamieniać kolejności wyprowadzeń
    (TXD-RXD),(RXD-RXD) i nic..
    Stawiam raczej na kwarc, jest on dość dziwny, ponieważ jak dam na wyjście procka sygnał SET na 1 sekundę, a potem RESET na 1 sekundę, to dioda dołączona do portu miga jakby 2 razy szybciej.
    Dodaję, że pracuje na płytce zegara TINY CLOCK z procesorem, który był zaprogramowany przez AVT (czyli fusebity chyba poustawiane na kwarc zewnętrzny).
    I mam jeszcze małe pytanie; jak w instrukcji $crystal zapisać kwarc 32.768 kHz ? Bo jak zapisze 3276800 to działa w miarę poprawnie, ale to wynika, że kwarc ma 3.2768 mHz !
    Wyczytałem, że ten kwarc służy do zegara RTC, więc próbowałem także skonfigurować kwarc inaczej... Nic...



    Z góry przepraszam za niezwięzły język :-)

    Posty nt. programowania mikrokontrolerów proszę pisać w dziale Mikrokontrolery.
    [Dr.Vee]
  • Helpful post
    #2
    atom1477
    Level 43  
    32.768kHz to chyba 32768Hz, więc chyba tyle należy wpisać, nie? Skąd te 32768700 się u Was bierze? A te 3.2768 mHz to co to ma być?
    Ten kwarc może i służy do zrobienia RTC, ale nie radzę ustawiać go jako główne źródło taktowania, bo zablokujesz sobie możliwość programowania przez SPI jak masz jakiś dziwny programator (nie pozwalający na zmniejszenie prędkości). Jak masz taki z kilku kabelków na LPT i programujesz prosto z BASCOMa to jeszcze możesz spróbować.
    Może po prostu odczytaj z rezonatora jaką ma częstotliwość?
  • #3
    Ture11
    Level 38  
    NO tak: dziękuje za odpowiedz. Ten kwarc ma 32.768 kHz , ja mówie tylko, że w miare dobrze chodził na ustawieniach 3276800.
  • #4
    atom1477
    Level 43  
    Przy tak małym kwarcu będziesz miał duże błędy w transmisji.
    W dodatku coś mi się zdaje że masz ustawiony wewnętrzny generator na 8MHz. To by wyjaśniało dwukrotnie większą częstotliwość migania diody przy zadeklarowanej częstotliwości taktującej jako 3276800.
    Wpisz 8000000 i zobcz czy RS zadziała. Ale na wewnętrznym generatorze to też nie koniecznie zadziała bo on ma nie za dużą dokładność.
  • Helpful post
    #5
    M. S.
    Level 34  
    Nie miałem nigdy problemów z komunikacją na wewnętrznym generatorze 8MHz przy szybkości 19200. Ustaw więc wewnętrzny generator na 8MHz.
  • #7
    Ture11
    Level 38  
    Witam.
    Dziękuje za odpowiedzi i ..... przepraszam :-/ .
    Jak się okazało po wylutowaniu kwarcu układ nadal chodził.
    Kwarc był tylko po to, aby działał niezależny wbudowany układ RTC.
    A procek popylał na kwarcu 8 mHz dlatego wydawało mi się, że 32,768kHz
    to 3276800 (dlatego też działał 2 razy wolniej).
    No cóż... odwieczna zasada elektrody .... Najpierw pomyśl, potem napisz....
    Co prawda procek chodzi na razie na $baud= 4800 ale będę próbował więcej.
    Jeszcze raz dziękuje i przepraszam.

    Dodano po 47 [sekundy]:

    atom 1477 miałeś rację. Szkoda, że wcześniej nie doczytałem.