Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[BASCOM] - UART ATMega128 <-> ATMega8

krakuss 08 Lis 2014 12:51 981 8
  • #1 08 Lis 2014 12:51
    krakuss
    Poziom 12  

    Witam

    Zdecydowałem się na złożenie nowego tematu, gdyż od 3 dni borykam się z problemem komunikacji między dwoma AVR'kami. Przeglądałem różne tematy i fora, ale nie udało mi się samodzielnie rozwiązać problemu.
    Z mikrokontrolerami bawię się stosunkowo rzadko, dlatego nie próbowałem pisać w C, a do tej pory Bascom był dla mnie wystarczający.

    Do rzeczy:
    Udało mi sie zrobić układ mega8<->mega32 z działającą komunikacją UART więc podstawy (tak mi sie przynajniej wydaje :D ) znam, ale atmega128 to całkiem obcy mi twór. Wybór na nią padł głównie przez sporą liczbę wyjść jakie posiada.
    Chciałbym korzystać z pinów PD2 i PD3 w mega128, czyli jak wnioskuję UART1.

    Obydwa procesory taktuję wewnętrznym oscylatorem 8Mhz (prosiłbym również o sprawdzenie Fuse bitów w obu uP)

    Schemat nie uwzględnia wyświetlacza LCD, on akurat działa prawidłowo.

    [BASCOM] - UART ATMega128 <-> ATMega8 [BASCOM] - UART ATMega128 <-> ATMega8 [BASCOM] - UART ATMega128 <-> ATMega8

    0 8
  • #2 08 Lis 2014 13:06
    tmf
    Moderator Mikrokontrolery Projektowanie

    W ATMega do realizacjiu UART nie należy stosować wewnętrznego generatora RC, zbyt mało stabilny. Jeśli musisz na wewnętrznych to skorzystać z USART, czyli połącz jeszcze procki sygnałem XCK i włącz synchroniczną transmisję USART. W PRzypadku M128 pamiętaj też o wyłączeniu fusebitu kompatybilności z M103.
    BTW, po co stosować M128, jeśli pod każdym względem lepsza i tańsza jest XMEGA128?

    -1
  • #3 08 Lis 2014 13:14
    krakuss
    Poziom 12  

    tmf napisał:
    BTW, po co stosować M128, jeśli pod każdym względem lepsza i tańsza jest XMEGA128?

    Zapewne wynikło to z braku wiedzy i doświadczenia :|

    Nie muszę korzystać z wewnętrznego oscylatora.
    Miałem podłączone też zewnętrzne kwarce 8mhz, ale efekt był ten sam.

    0
  • #4 08 Lis 2014 14:47
    tmf
    Moderator Mikrokontrolery Projektowanie

    Tzn. jaki? Bo samo napisanie brak komunikacji to trochę za mało. Pokaż też kody, masy układów połączone?

    -1
  • #5 08 Lis 2014 15:55
    krakuss
    Poziom 12  

    Kody są w załącznikach w pierwszym poście.
    Na wyświetlaczu układu odbierającego widnieje
    "Odebrano: 0"

    Masy połączone ( oba uP są z jednego zasilania )

    0
  • #6 08 Lis 2014 16:47
    MArSTER_1
    Poziom 18  

    W kodzie nie widzę instrukcji konfigurujących porty szeregowe czyli config Com1. Tak ma być?

    -1
  • #7 08 Lis 2014 17:06
    krakuss
    Poziom 12  

    Nie, nie ma tak być... widocznie z tego wynikają problemy, bo w pozostałych mikrokontrolerach z którymi miałem do czynienia był tylko jeden uart i polecenie $baud = ... wystarczało do konfiguracji :|

    0
  • #8 11 Lis 2014 21:15
    krakuss
    Poziom 12  

    Cytat:
    Open "coma.3:9600,8,n,1" For Input As #1
    Open "coma.4:9600,8,n,1" For Output As #2


    powyższym poleceniem, używając programowego uarta udało mi się uzyskać jakąkolwiek transmisje, ale otrzymuje śmieci...

    Czy ktoś jest mi w stanie podpowiedzić w jaki sposób otworzyć, uruchomić sprzętowy port com na pinach PD2,PD3 w ATMega128? :cry:

    0
  • #9 16 Lis 2014 20:45
    krakuss
    Poziom 12  

    Bardzo, ale to bardzo dziękuje wszystkim za pomoc, jesteście wręcz niezastąpieni w tej kwestii.
    Forum trzyma poziom, oby tak dalej Panowie, cód że nie ma jeszcze tekstu "było, poszukaj... " :D

    Pozdrawiam

    0