Co mi resetuje procka ?



Masz problem? Zapytaj na forum elektroda.pl

Poprzedni Następny
Wiadomość
Spis treści
From: Adrian Czapek <adrian_at_nospam_mail.nowiny.eu.org>
Subject: Co mi resetuje procka ?
Date: Sun, 29 May 2005 22:31:34 +0200


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

--
Adrian
adrian_at_nospam_mail.nowiny.eu.org

Poprzedni Następny
Wiadomość
Spis treści
From: "Kurciok" <kurciok_at_nospam_poczta.BEZSPAMUonet.pl>
Subject: Re: Co mi resetuje procka ?
Date: Sun, 29 May 2005 22:40:23 +0200


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 ?




Poprzedni Następny
Wiadomość
Spis treści
From: Adrian Czapek <adrian_at_nospam_mail.nowiny.eu.org>
Subject: Re: Co mi resetuje procka ?
Date: Sun, 29 May 2005 22:54:10 +0200


Kurciok napisał(a):

A jaki masz kwarc na ile MHz ?

Używam wew. oscylatora (8MHz)

--
Adrian
adrian_at_nospam_mail.nowiny.eu.org
Mazda 626 GLX 2.0i '91

Poprzedni Następny
Wiadomość
Spis treści
From: "Piotr Wyderski" <wyderskiREMOVE_at_nospam_ii.uni.wroc.pl>
Subject: Re: Co mi resetuje procka ?
Date: Sun, 29 May 2005 23:57:50 +0200


Adrian Czapek wrote:

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.

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.

Aby było zabawniej, niektóre wartości pozwala wpisać, inne go resetują
(niestety nie zauważyłem żadnej prawidłowości).

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


Poprzedni Następny
Wiadomość
Spis treści
From: Adrian Czapek <adrian_at_nospam_mail.nowiny.eu.org>
Subject: Re: Co mi resetuje procka ?
Date: Mon, 30 May 2005 08:34:25 +0200


Piotr Wyderski napisał(a):

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.

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.

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?

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.

--
Adrian
adrian_at_nospam_mail.nowiny.eu.org

Poprzedni Następny
Wiadomość
Spis treści
From: Marek Michalkiewicz <spamtrap_at_nospam_amelek.gda.pl.invalid>
Subject: Re: Co mi resetuje procka ?
Date: Mon, 30 May 2005 00:10:06 +0200 (CEST)


Adrian Czapek <adrian_at_nospam_mail.nowiny.eu.org> wrote:

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

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

Poprzedni Następny
Wiadomość
Spis treści
From: zenon <zenon_at_nospam_wp.pl>
Subject: Re: Co mi resetuje procka ?
Date: Mon, 30 May 2005 00:20:34 +0200


Użytkownik Adrian Czapek napisał:

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


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

Poprzedni Następny
Wiadomość
Spis treści
From: zenon <zenon_at_nospam_wp.pl>
Subject: Re: Co mi resetuje procka ?
Date: Mon, 30 May 2005 00:21:35 +0200


Użytkownik Adrian Czapek napisał:

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


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