Co mi resetuje procka ?

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ł ??

Reply to
Adrian Czapek
Loading thread data ...

Kurciok napisał(a):

Używam wew. oscylatora (8MHz)

Reply to
Adrian Czapek
Reply to
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

Reply to
Marek Michalkiewicz

Użytkownik Adrian Czapek napisał:

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

Reply to
zenon

Użytkownik Adrian Czapek napisał:

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

Reply to
zenon

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.

Reply to
Adrian Czapek

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.