Co mi resetuje procka ?

May 29, 2005 7 Replies

Witam ATMega8 stwarza mi jak narazie więcej problemów niż pożytku. Co tym razem ? Otóż używam portu C (0..5) jako linii I/O. Dokładnie jako wyjścia. w DDRC mam zaraz na początku programu wpisuję wartość '0x3f'. Tak samo do PORTC. I to jeszcze przechodzi. Niestety poźniejsze próby zapisu czegokolwiek do PORTC kończą się resetem megi. Aby było zabawniej, niektóre wartości pozwala wpisać, inne go resetują (niestety nie zauważyłem żadnej prawidłowości). Tak samo z zapisem bitowym (kontrukcja: PORTC&=~_BV(3) na przykład) - czasem pozwala, czasem głupieje. Ma ktoś jakiś pomysł ??


A jaki masz kwarc na ile MHz ?

Kurciok napisał(a):

Używam wew. oscylatora (8MHz)

Ale sk±d to z ca³± pewno¶ci± wiesz? Mo¿e, jak to ju¿ sugerowano, to piesio Ci resetuje procesor, a nie zabawa z portem C. Ja trochê urz±dzeñ na AVR zrobi³em (ale nie na medze 8) i nigdy nie mia³em takich problemów, wrêcz przeciwnie, wszystko dzia³a³o tak, jak napisano w dokumentacji.

A mo¿e po prostu masz uszkodzon± megê? Testowa³e¶ na innym egzemplarzu, albo choæ popatrzy³e¶ na zachowanie programu w symulatorze z AVR studio?

Pozdrawiam Piotr Wyderski

Czy zasilania (VCC i AVCC) są dobrze odsprzężone? Może wyjście portu jest obciążone pojemnością, wtedy zmiana stanu powoduje duży chwilowy pobór prądu i zakłócenie na zasilaniu (które powoduje reset)?

Co jest podłączone do wejścia RESET? Jeśli długa ścieżka, może łapie zakłócenia (od innej ścieżki gdzie zmienia się stan, np. z portu C)? Proponuję dodać kondensator (np. ceramiczny 10nF) między RESET i GND.

Marek

Użytkownik Adrian Czapek napisał:

Nie masz czasem na płytce przypadkowego zwarcia któregoś pinu do GND albo VCC ?

Użytkownik Adrian Czapek napisał:

Nie masz czasem gdzieś na płytce przypadkowego zwarcia któregoś pinu procka do GND albo VCC

Piotr Wyderski napisał(a):

A stąd, że na początku programu procesor kilkakrotnie ma mrugnąć diodą. Skoro dioda miga ciągle znaczy że procek ciągle się resetuje. A że to nie WTD dość mocno przekonuje mnie fakt, że nie restuje (a raczej resetował, bo już znalazłem błąd) się za każdym razem.

AVR Studio przechodził bez problemu... a przez weekend nie mogłem zdobyć innego egzemplarza do testów.

A teraz się przyznam do swojej bezgranicznej głupoty. PINC.0 zwarty z sygnałem resetu pochodzącym od programatora isp. Kiedy programator był niepodłączony wystawienie '1' na PC0 resetowało procesor. Dziwne, że przy mierzeniu zwarć na całej płytce nie zauważyłem tego. Za późno było widocznie i zbyt zmęczony byłem :) W każdym razie dzięki za zainteresowanie.

Join the Discussion

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

Didn't find your answer?

Ask the community — no account required