logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Atmega2561-nie obsługuje rc5?

werewolf15 30 Gru 2011 13:53 2118 23
  • #1 10323462
    werewolf15
    Poziom 14  
    Mam nową at2561 i podczas kompilowania programu bascom wyrzuca error: 202.Po sprawdzeniu w kodach błędów okazuje się że procek nie obsługuje takiej funkcji jak getrc5.Czy to możliwe że taki "mocny" procesor nie obsługuje rc5?Może ja coś robię źle?Proszę o pomoc.
    Program testowy:

    Kod: text
    Zaloguj się, aby zobaczyć kod


    Proszę pamiętać o używaniu znaczników syntax. Opcja Listing kodu. Proszę poprawić.- arnoldziq
  • #2 10323483
    pawel_mr
    Poziom 15  
    To nie wina procesora ale kompilatora. Procesor nie ma w sobie funkcji getrc5, to jest funkcja bascom, szukaj winy w kompilatorze.
  • #3 10323644
    Jaca
    Poziom 31  
    Spróbuj tak:

    Kod: text
    Zaloguj się, aby zobaczyć kod
  • #4 10323892
    werewolf15
    Poziom 14  
    Jaca wielkie dzięki !
    Teraz wszystko chodzi i kompiluje bez errorów!
    Napisz tylko co znaczy dopisany przez ciebie fragment żebym wiedział na przyszłość.A tak przy okazji to jak ustawić na at2561 kwarc 16 lub 8mhz w bascom AVR 1.11.9.8?

    No i się stało.Właśnie chyba zablokowałem atmege.W fusebitach ustawiłem ext.low frequency i włączony rezonator zewn. i teraz procek niekontaktuje z kompem.Próbowałem już kwarców 4,5 8 12mhz oraz próbowałem przez podłączenie samego kond. i opornika do xtal1 ale dalej nic.Czy da się jescze coś zrobić?
  • #5 10325073
    Jaca
    Poziom 31  
    1. Weź inny procek i napisz program generujący maksymalną częstotliwość na dowolnym pinie
    2. Podłącz ten sygnał do końcówki XTAL1 (nie zapomnij o masie)
    3. Przywróć stan fusebit'ów
  • #6 10325605
    werewolf15
    Poziom 14  
    Jaca, bardzo chciałbym zrobić jak napisałeś ale niewiem czy dobrze rozumiem.Czy może być taki program do generowania:
    Kod: text
    Zaloguj się, aby zobaczyć kod

    i gdzie podpiąć masę?
  • #7 10326055
    Jaca
    Poziom 31  
    Programik jest OK. A teraz:

    1. Zaprogramuj nim M32 (posłuży Ci jako źródło sygnału zegarowego dla M2561)
    2. PortA.0 M32 podepnij do XTAL1 M2561
    3. Złącz masy obu układów (tego z M32 i M2561)
    4. Zmień programatorem błędnie ustawione fusebit'y M2561

    ps. Chyba nie muszę pisać, że oba układy (płytki) muszą być normalnie zasilone ? :)
  • #8 10326240
    werewolf15
    Poziom 14  
    Jaca, zrobiłem dokładnie jak pisałeś płytki zasilone tym samym napięciem z kompa, te same masy, xtal1 podłączony do porta.0 i dalej brak kontaktu.Niewiem czy to jest jakaś różnica ale zamiast programatora łącze procka przez sam kabel lpt(z opornikami)?
  • #9 10326372
    Jaca
    Poziom 31  
    A kwarc i kondensatory przy kwarcu odlutowałeś na czas naprawy ? Te 8 MHz na M32 to realne 8 czy 1 MHz ?
  • #10 10326667
    werewolf15
    Poziom 14  
    Kondensatory i kwarc odlutowane xtal2 do niczego nie przylutowany, xtal1 do porta.0, m32 ma ustawiony wewnętrzny rezonator 8mhz(zewnętrznego kwarcu nawet nie próbuje ustawiać bo jeszcze zepsuje drugi procesor )
  • #11 10326792
    Jaca
    Poziom 31  
    Próbujemy dalej. :) Pamiętasz może ustawienia CKSEL3:0 ? Możesz spróbować podłączyć kwarc zegarkowy 32.768 kHz jeśli zewnętrzny zegar nie zdaje egzaminu.
  • #12 10327923
    werewolf15
    Poziom 14  
    Ostatni raz kiedy procek jeszcze kontaktował fusebity właśnie tak wyglądały:

    Atmega2561-nie obsługuje rc5?

    potem tam gdzie zaznaczyłem na czerwono zmieniłem na ext. low-frequency i procek sie "wyłączył".A co do kwarcu zegarkowego to mam przylutować od jakiegoś zegarka w taki sposób jak zwykły kwarc?Tzn.kwarc i dwa kond.?

    Próbowałem kwarc z zegarka bez i z kondensatorami ale dalej nic.

    Założyłem też kwarca z cd-romu 33.8688 ale dalej nic.Tak sobie myślę że może jeśli zmieniłem fusebity na low f. to może chodzi o jakiś mały kwarc?
  • #13 10328197
    Jaca
    Poziom 31  
    1. Jakich kondensatorów używasz do kwarcu zegarkowego i z docelowym kwarcem ?
    2. Próbowałeś ustawić Port Delay w konfiguracji programatora ? Przy kwarcu zegarkowym trzeba programować bardzo wolno.
    3. Czy miałeś wgrany do procka jakiś działający program ? Jeśli tak to sprawdź, czy po podłączeniu kwarcu zegarkowego są jakieś oznaki działania. Zauważ tylko, że przy taktowaniu 32.768 kHz program będzie wykonywał się ponad 244 razy wolniej w porównaniu z docelowym kwarcem 8 MHz. :)

    ps. Możesz też spróbować podłączyć rezonator z pilota od telewizora. Jego wartość to pewnie z 455 kHz.

    Edit:

    Teraz zauważyłem, że miałeś ustawiony bit dzielenia zegara przez 8 to przy kwarcu zegarkowym daje taktowanie równe 4.096 kHz. W takim przypadku będziesz musiał naprawdę spowolnić transmisję z programatora.

    Edit1:

    1. Zasymulowałem Twoje ustawienia fusebit'ów
    2. Przylutowałem kwarc zegarkowy 32.768 kHz
    3. Sprawdziłem oscyloskopem generację sygnału taktującego - OK
    4. Sprawdziłem programatorem USB-ISP z opóźnieniem max. 10 - brak transmisji
    5. Sprawdziłem programatorem KamPROG z taktowaniem 1 kHz - OK
    6. Przywróciłem prawidłowe wartości fusebit'ów - OK
  • #14 10328541
    werewolf15
    Poziom 14  
    1.Kondensatory 22p
    2.Niewiem o co chodzi z Port Delay i co to znaczy że trzeba programować dużo wolniej?
    3.Na procku był wgrany działający program ale teraz nie działa.Podłączyłem kwarc z pilota i też nic.
    W jaki sposób spowolnić transmisję programatora(u mnie kabel lpt)?
  • #15 10328595
    Jaca
    Poziom 31  
    Port Delay ustawiasz w parametrach programatora Opcje->Programator (tam gdzie wybierasz typ programatora). Ja swój uC ustawiłem tak jak Twój i odzyskałem pracę na kwarcu 8 MHz (patrz Edit1). Jak tylko uzyskasz transmisję, podam Ci jak ustawić uC na pracę z zewnętrznym kwarcem 8 MHz.
  • #16 10328639
    werewolf15
    Poziom 14  
    Przylutowałem z powrotem kwarc zegarkowy z kond. i teraz proszę jaca napisz mi ile wpisać w port delay bo aktualnie jest wpisane 0
  • #17 10328670
    Jaca
    Poziom 31  
    Musisz sprawdzić doświadczalnie: 64, 128, 256, 512, 1024, ... (okrągłe liczby - zboczenie zawodowe). :)
  • #18 10328785
    werewolf15
    Poziom 14  
    Próbowałem od 16 do 8192 i zero kontaktu.A czy nietrzeba zmieniać frequency i baudrate w programatorze?
  • #19 10328973
    Jaca
    Poziom 31  
    Masz Sample Electronics Programmer podpięty do portu LPT (to port równoległy a nie szeregowy). Ten programator (3 oporniki) ma jedynie możliwość ustawienia adresu portu LPT i Port Delay.

    Czy przy kolejnych próbach z Port Delay próbowałeś zidentyfikować chip poprzez Identify Chip ?
  • #20 10329171
    werewolf15
    Poziom 14  
    Oczywiście zidentyfikowałem chip poprzez Identify Chip za każdym razem.A może podasz swoje ustawienia port delay?
  • #21 10329459
    Jaca
    Poziom 31  
    Ja nie używam LPT. Mam KamPROG, USB-ISP, oryginalny AVRISP mk2 i wszystkie na USB. Zostaw to dzisiaj. Oby nam się... w nadchodzącym 2012 roku !!! :)
  • #22 10343188
    werewolf15
    Poziom 14  
    Kupiłem już drugą at2561.Jaca, czy mogę prosić o ustawienie fusebitów pod kwarc 8 lub 16mhz?
  • #23 10343651
    Jaca
    Poziom 31  
    Ja używam takich ustawień:

    Atmega2561-nie obsługuje rc5?

    Masz pewnie ATMega2561 (bez literki V na końcu) więc ustaw Brown out na 4.3 V (zamiast 2.7 V).
  • #24 10347926
    werewolf15
    Poziom 14  
    Wielkie dzieki jaca!Ustawiłem fusebity tak jak ty i podpiąłem kwarc 12mhz i śmiga elegancko!

    Ps. Czy mógłbyś jeszcze podać ustawienie fusów do at32? :)
REKLAMA