programowy reset AVR



Masz problem? Zapytaj na forum elektroda.pl

Poprzedni Następny
Wiadomość
Spis treści
From: "Paweł" <paw1976_at_nospam_poczta.onet.pl>
Subject: programowy reset AVR
Date: Thu, 6 Oct 2005 09:09:48 +0200


Witam.

Jak programowo zrobić reset AVR tak żeby rejestry
ustawiły się na wartości początkowe tak jak w sprzętowym?

Dziękuję za odpowiedź.

Paweł



Poprzedni Następny
Wiadomość
Spis treści
From: "T.M.F." <tfrancuz_at_nospam_nospam.mp.pl>
Subject: Re: programowy reset AVR
Date: Thu, 06 Oct 2005 09:27:34 +0200


Jak programowo zrobić reset AVR tak żeby rejestry
ustawiły się na wartości początkowe tak jak w sprzętowym?


Wydaje mi sie, ze jedyna mozliwoscia jest przekroczenie czasu watchdoga.


--
Inteligentny dom - http://idom.wizzard.one.pl
Teraz takze forum dyskusyjne
Zobacz, wyslij uwagi, dolacz sie do projektu.

Poprzedni Następny
Wiadomość
Spis treści
From: Slawomir Sidor <slawek_at_nospam_graficomp.com.pl>
Subject: Re: programowy reset AVR
Date: Thu, 06 Oct 2005 09:28:41 +0200


Jak programowo zrobić reset AVR tak żeby rejestry
ustawiły się na wartości początkowe tak jak w sprzętowym?

Na początku programu zrób inicjowanie rejestrów i podaj sygnał reset.
Możesz z dowolnego portu taki sygnał sepuku wyprowadzić.
No chyba, że musi to być inaczej zrobione.
--
Slawomir Sidor N 51 58.1385 E020 09.1966


Poprzedni Następny
Wiadomość
Spis treści
From: "Ja" <jdolin_at_nospam_aster.pl>
Subject: Re: programowy reset AVR
Date: Sun, 4 Dec 2005 21:43:56 +0100


Użytkownik "Paweł" <paw1976_at_nospam_poczta.onet.pl> napisał w wiadomości
news:di2jar$b08$1_at_nospam_news2.onet...
Witam.

Jak programowo zrobić reset AVR tak żeby rejestry
ustawiły się na wartości początkowe tak jak w sprzętowym?

Troche czsu minelo, ale moze sie przyda - cos takiego:
((void (code*) (void)) 0x0) ()




Poprzedni Następny
Wiadomość
Spis treści
From: Adam Dybkowski <adybkows123_at_nospam_amwaw.edu.pl>
Subject: Re: programowy reset AVR
Date: Mon, 05 Dec 2005 00:33:10 +0100


Ja wrote:

Jak programowo zrobić reset AVR tak żeby rejestry
ustawiły się na wartości początkowe tak jak w sprzętowym?

Troche czsu minelo, ale moze sie przyda - cos takiego:
((void (code*) (void)) 0x0) ()

To jest tylko skok pod adres 0 i zadne rejestry SFR sie nie poustawiaja
w stan domyslny. Proponuje do tego celu raczej wykorzystac watchdoga:
zablokowac przerwania, ustawic minimalne opoznienie i wlaczyc
watchodoga. Dziala na 100% :)

--
Adam Dybkowski
http://www.amwaw.edu.pl/~adybkows/

Uwaga: przed wysłaniem do mnie maila usuń "123" z adresu.

Poprzedni Następny
Wiadomość
Spis treści
From: "Ja" <jdolin_at_nospam_aster.pl>
Subject: Re: programowy reset AVR
Date: Mon, 5 Dec 2005 09:13:40 +0100


Użytkownik "Adam Dybkowski" <adybkows123_at_nospam_amwaw.edu.pl> napisał w wiadomości
news:dmvubo$dmc$1_at_nospam_atlantis.news.tpi.pl...
Ja wrote:

Jak programowo zrobić reset AVR tak żeby rejestry
ustawiły się na wartości początkowe tak jak w sprzętowym?

Troche czsu minelo, ale moze sie przyda - cos takiego:
((void (code*) (void)) 0x0) ()

To jest tylko skok pod adres 0 i zadne rejestry SFR sie nie poustawiaja w
stan domyslny. Proponuje do tego celu raczej wykorzystac watchdoga:
zablokowac przerwania, ustawic minimalne opoznienie i wlaczyc watchodoga.
Dziala na 100% :)

Ale nie zawsze korzystanie z watchdoga moze komus odpowiadac. Ostatecznie w
startupie mozna rejestry "recznie" poustawiac i wtedy po takim "zerowaniu"
bedziemy mieli to co chcemy.
Ja



Poprzedni Następny
Wiadomość
Spis treści
From: Adam Dybkowski <adybkows123_at_nospam_amwaw.edu.pl>
Subject: Re: programowy reset AVR
Date: Mon, 05 Dec 2005 21:50:40 +0100


Ja wrote:

Jak programowo zrobić reset AVR tak żeby rejestry
ustawiły się na wartości początkowe tak jak w sprzętowym?
[...]
Proponuje do tego celu raczej wykorzystac watchdoga:
zablokowac przerwania, ustawic minimalne opoznienie i wlaczyc watchodoga.

Ale nie zawsze korzystanie z watchdoga moze komus odpowiadac. Ostatecznie w
startupie mozna rejestry "recznie" poustawiac i wtedy po takim "zerowaniu"
bedziemy mieli to co chcemy.

Oczywiście najlepszym sposobem jest pełne inicjowanie każdego
wykorzystywanego komponentu peryferyjnego (UARTu, SPI itp), bez
polegania na domyślnych ustawieniach rejestrów po resecie.

--
Adam Dybkowski
http://www.amwaw.edu.pl/~adybkows/

Uwaga: przed wysłaniem do mnie maila usuń "123" z adresu.

Poprzedni Następny
Wiadomość
Spis treści
From: "Ja" <jdolin_at_nospam_aster.pl>
Subject: Re: programowy reset AVR
Date: Thu, 8 Dec 2005 00:17:17 +0100


Użytkownik "Adam Dybkowski" <adybkows123_at_nospam_amwaw.edu.pl> napisał w wiadomości
news:dn296v$ipp$1_at_nospam_atlantis.news.tpi.pl...

Oczywiście najlepszym sposobem jest pełne inicjowanie każdego
wykorzystywanego komponentu peryferyjnego (UARTu, SPI itp), bez polegania
na domyślnych ustawieniach rejestrów po resecie.

Mowa byla tylko o rejestrach :-), poza tym podalem tylko jedna z kilku
mozliwosci, wiec nie goraczkuj sie tak.
BTW na restart od watchdoga trzeba chwilke poczekac, a moze komus zalezy na
blyskawicznej reakcji.

pozdrawiam
JA