Konfiguracja Timer0 ATmega8 dla wyzwalania co 10ms i zmiana częstotliwości kwarcu

atmega8





Poprzedni Następny
Wiadomość
Spis treści
From: "sikurasaka" <sikurasaka_at_nospam_op.pl>
Subject: atmega8
Date: Sun, 8 Jan 2006 15:34:37 +0100


Mam kilka pytanek...

Mam sobie atmege8 taktowaną kwarcem wewnetrznym 1Mhz.

1. Jak ustawic timer0 zeby sie wypelnial co 10ms?
Jak poustawiac TCCR0, TCNT0, TIMSK i inne??

Potrzebuje po prostu wywolywac kod co 10ms - jak to szybko i bezbolesnie
zrobic??;)
[waitms itp odpada...]

2. Jak zmienic czestotliwosc kwarca wewnetrznego (podobno mozna ja ustawic
nawet na 8Mhz)



Paweł



Poprzedni Następny
Wiadomość
Spis treści
From: Krzysiek Kubicki <coobix_at_nospam_gazeta.plBeZTeGo>
Subject: Re: atmega8
Date: Sun, 08 Jan 2006 16:26:33 +0100


Cześć

Ad 1
datasheet strona 70, wywoływanie kodu w przerwaniu

Ad 2
datasheet strona 28

--
Pozdrawiam
Krzysztof Kubicki
http://www.kubi.rox.pl

Poprzedni Następny
Wiadomość
Spis treści
From: "sikurasaka" <sikurasaka_at_nospam_op.pl>
Subject: Re: atmega8
Date: Sun, 8 Jan 2006 17:24:46 +0100



Użytkownik "Krzysiek Kubicki" <coobix_at_nospam_gazeta.plBeZTeGo> napisał w wiadomości
news:dprav9$jg$1_at_nospam_news.onet.pl...
Cześć

Ad 1
datasheet strona 70, wywoływanie kodu w przerwaniu

Ad 2
datasheet strona 28


A mozna jakis przykladzik kodu (c) - bo tam nie ma przykladu...;(


Paweł





Poprzedni Następny
Wiadomość
Spis treści
From: AdelA <a_at_nospam_b.c>
Subject: Re: atmega8
Date: Sun, 08 Jan 2006 18:12:47 +0100


A mozna jakis przykladzik kodu (c) - bo tam nie ma przykladu...;(

Tego kodem nie robisz tylko zmieniasz programatorem.

--
AdelA
Mail PRIV na mojej WWW
www.adela.pl


Poprzedni Następny
Wiadomość
Spis treści
From: "sikurasaka" <sikurasaka_at_nospam_op.pl>
Subject: Re: atmega8
Date: Sun, 8 Jan 2006 18:26:36 +0100



Uzytkownik "AdelA" <a_at_nospam_b.c> napisal w wiadomosci
news:dprh72$2ii$2_at_nospam_atlantis.news.tpi.pl...
A mozna jakis przykladzik kodu (c) - bo tam nie ma przykladu...;(

Tego kodem nie robisz tylko zmieniasz programatorem.

A da sie to jakos pakietem winavr zrobic (averdude?)??


A co do pkt 1...?
na prawde przydal by sie kawalek kodu bo nie kumam tego do konca ;)


Pawel



Poprzedni Następny
Wiadomość
Spis treści
From: AdelA <a_at_nospam_b.c>
Subject: Re: atmega8
Date: Sun, 08 Jan 2006 18:37:08 +0100


Użytkownik sikurasaka napisał:

Uzytkownik "AdelA" <a_at_nospam_b.c> napisal w wiadomosci
news:dprh72$2ii$2_at_nospam_atlantis.news.tpi.pl...

A mozna jakis przykladzik kodu (c) - bo tam nie ma przykladu...;(

Tego kodem nie robisz tylko zmieniasz programatorem.


A da sie to jakos pakietem winavr zrobic (averdude?)??


A co do pkt 1...?
na prawde przydal by sie kawalek kodu bo nie kumam tego do konca ;)


Pawel


A dataszit nie wystarcza? przecież tam jest wszystko opisane. Musisz
ustawić odpowiedni podział timera przy odpowiednim zegarze i to
wszystko. to nie jest nawet kawałek kodu. Przy odpowiednim zegarze
musisz wpisać odpowiednią cyfrę w odpowiedni rejestr timera. i koniec.
Włączasz przerwanie i je obsługujesz. Zwróć tylko uwagę, żeby przerwanie
nie trwało dłużej niż częstotliwość jego wywołania.

--
AdelA
Mail PRIV na mojej WWW
www.adela.pl


Poprzedni Następny
Wiadomość
Spis treści
From: Filip Ozimek <filip_at_nospam_mielonka.polbox.pl>
Subject: Re: atmega8
Date: Sun, 08 Jan 2006 19:19:54 +0100


AdelA wrote:

Włączasz przerwanie i je obsługujesz. Zwróć tylko uwagę, żeby przerwanie
nie trwało dłużej niż częstotliwość jego wywołania.

Właśnie, a co się stanie, jeśli tak będzie? Czy przerwanie w momencie
obsługi przerwania spowoduje przerwanie tej obsługi i kolejne
rozpoczęcie jego obsługi?


--
Filip.

Poprzedni Następny
Wiadomość
Spis treści
From: "T.M.F." <tfrancuz_at_nospam_nospam.mp.pl>
Subject: Re: atmega8
Date: Sun, 08 Jan 2006 20:21:07 +0100


Włączasz przerwanie i je obsługujesz. Zwróć tylko uwagę, żeby
przerwanie nie trwało dłużej niż częstotliwość jego wywołania.

Właśnie, a co się stanie, jeśli tak będzie? Czy przerwanie w
momencie obsługi przerwania spowoduje przerwanie tej obsługi i kolejne
rozpoczęcie jego obsługi?


Nic sie nie stanie, przerwania nie przerwiesz, natomiast zostanie ono
zgloszone po zakonczeniu obslugi bierzacego przerwania. Ale z czasem
opoznienie bedzie narastac, az co ktores przerwanie wypadnie.


--
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: AdelA <a_at_nospam_b.c>
Subject: Re: atmega8
Date: Sun, 08 Jan 2006 21:18:26 +0100


Nic sie nie stanie, przerwania nie przerwiesz, natomiast zostanie ono
zgloszone po zakonczeniu obslugi bierzacego przerwania. Ale z czasem
opoznienie bedzie narastac, az co ktores przerwanie wypadnie.


Do tego należy dodać, że program główny nie będzie miał zbyt wielkiego
polotu :-).

--
AdelA
Mail PRIV na mojej WWW
www.adela.pl


Poprzedni Następny
Wiadomość
Spis treści
From: Grzegorz Kurczyk <grzegorz.usun.to_at_nospam_control.slupsk.pl>
Subject: Re: atmega8
Date: Mon, 09 Jan 2006 00:16:07 +0100


Użytkownik T.M.F. napisał:
Nic sie nie stanie, przerwania nie przerwiesz, natomiast zostanie ono
zgloszone po zakonczeniu obslugi bierzacego przerwania. Ale z czasem
opoznienie bedzie narastac, az co ktores przerwanie wypadnie.

No chyba, że na początku obsługu przerwania będzie rozkaz sei

Pozdrawiam
Grzegorz

Poprzedni Następny
Wiadomość
Spis treści
From: "T.M.F." <tfrancuz_at_nospam_nospam.mp.pl>
Subject: Re: atmega8
Date: Mon, 09 Jan 2006 00:23:35 +0100


Nic sie nie stanie, przerwania nie przerwiesz, natomiast zostanie ono
zgloszone po zakonczeniu obslugi bierzacego przerwania. Ale z czasem
opoznienie bedzie narastac, az co ktores przerwanie wypadnie.

No chyba, że na początku obsługu przerwania będzie rozkaz sei


No ale wtedy grozi przepelnienie stosu.


--
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: Grzegorz Kurczyk <grzegorz.usun.to_at_nospam_control.slupsk.pl>
Subject: Re: atmega8
Date: Mon, 09 Jan 2006 08:25:56 +0100


Użytkownik T.M.F. napisał:
Nic sie nie stanie, przerwania nie przerwiesz, natomiast zostanie ono
zgloszone po zakonczeniu obslugi bierzacego przerwania. Ale z czasem
opoznienie bedzie narastac, az co ktores przerwanie wypadnie.


No chyba, że na początku obsługu przerwania będzie rozkaz sei


No ale wtedy grozi przepelnienie stosu.


Jak w każdym systemie z przerwaniami wielopoziomowymi
i podczas stosowania procedur rekurencyjnych ;-)

ATmega8 trochę tego stosu ma. Gorzej z np ATtiny15 gdzie jest miejsce na
tylko cztery adresy powrotu.

Jeśli system jest dobrze zaprojektowany i nie dopuszczamy do sytuacji,
że przerwania są zgłaszane częściej niż czas ich obsługi to wszystko
będzie dobrze. W przeciwnym razie nawet jeśli stos się nie przepełni, to
program główny nie bedzie miał okazji się wykonać :-)

Pozdrawiam
Grzegorz



Poprzedni Następny
Wiadomość
Spis treści
From: "sikurasaka" <sikurasaka_at_nospam_op.pl>
Subject: Re: atmega8
Date: Mon, 9 Jan 2006 00:26:07 +0100



Użytkownik "sikurasaka" <sikurasaka_at_nospam_op.pl> napisał w wiadomości
news:dpr81r$nqs$1_at_nospam_news.onet.pl...
Mam kilka pytanek...


A mam jeszcze jedno pytanie...

Napisalem program i windows podaje ze HEX ma 20KB.
Odpalam averdude i tam mi podaje ze to tylko 6KB...

O co chodzi?;)
[Rozmiar hexa to rozmiar normalny, a nie zajmowane miejsce na dysku...]


Paweł



Poprzedni Następny
Wiadomość
Spis treści
From: Adam Dybkowski <adybkows123_at_nospam_amwaw.edu.pl>
Subject: Re: atmega8
Date: Mon, 09 Jan 2006 01:00:27 +0100


sikurasaka wrote:

A mam jeszcze jedno pytanie...

Napisalem program i windows podaje ze HEX ma 20KB.
Odpalam averdude i tam mi podaje ze to tylko 6KB...

O co chodzi?;)
[Rozmiar hexa to rozmiar normalny, a nie zajmowane miejsce na dysku...]

Windows widzi tylko rozmiar pliku. 6KB danych daje się zapisać w 384
liniach tekstu po 16 bajtów po 2 znaki hex na bajt plus 12 znaków plus
CRLF na linię = 17664 bajty plus linia końcowa. Jeżeli w danych w pliku
hex są nieciągłości, plik jest jeszcze dłuższy. Stąd te 20KB pliku może
odpowiadać 6 KB danych. Popatrz w specyfikację formatu pliku Intel Hex
to ci się wszystko rozjaśni.

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

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