Re: Kilka pytan o AVR

Sep 04, 2003 3 Replies


Zrezygnowa³em z sekcji .eseg i umie¶ci³em na pocz±tku programu procedurê


> sprawdzaj±c± stan pewnej (tylko nie pierwszej!) komórki EEPROM. Jak warto¶æ
> jest ró¿na to nastêpuje inicjalizacja EEPROM. Zaleta - brak pliku *.eep

Przy malej pamieci ogromna wada - niepotrzebne zuzycie pamieci...


Roland

Ale wiele innych instrukcji moze na nich operowac. To sie przydaje np. przy operacjach na liczbach wielobajtowych - nie trzeba zapisywac i odczytywac z RAMu wynikow posrednich, co znacznie przyspiesza program. A tak uzywa rejestrow kompilator C IARa: r0 - r1 - rejestry robocze, np. wynik mul, lpm r2 - r15 - rejestry na zmiene lokalne r16 - r23 - przekazywanie parametrow do funkcji oraz rejestry robocze r24 - r27 - rejestry robocze r28 - r29 - wskaznik stosu , przez ktory sa przekazywane parametry nie miszczace sie w rejestrach r30 - r31 - rejestry robocze

W dokumentacji procesora przy opisie kazdego rejestru pisze wyraznie jak jest inicjalizowany po resecie. I nie ma znaczenia, co bylo powodem resetu. Wszystkie rejestry sa inicjowane tak jak pisze w dok.

W 2313 nie mozna sprawdzic programowo, co bylo zrodlem resetu, opcja taka jest dostepna w nowszych prockach, np. ATmega8, sa do tego odpowiednie flagi w jednym z rejestrow.

Jesli chodzi o 2313 to czasem zdazaly sie problemy z poprawnym startem po wlaczeniu zasilania. Wewnetrzny uklad PowerOnReset nie dziala w tym procesorze dosc dobrze, dobrze jest dac zewnetrzny uklad resetu. I pamietaj, ze komorka EEPROM o adresie 0 moze zostac przypadkiem skasowana, lepiej w niej nic nie zapisywac.

Pozdrawiam AK

Arek Karas wrote: ...

Własnie chodzi o to, że programowo to się da łatwo zrobić, nie ma tylko wygodnego wsparcia w sprzęcie (tak jak w seriach mega lub tiny)

Pozdrawiam,

Tak, dokladnie o to chodzi: stan procesora w chwili zadzialania watchdoga jest z definicji nieustalony, wiec programowe wykrywanie bledu jest dosc zlozone. Wsparcie sprzetowe sporo by uproscilo czesc diagnostyczna.

Pozdrawiam Piotr Wyderski

Join the Discussion

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

Didn't find your answer?

Ask the community — no account required