Konfiguracja Timer0 ATmega8 dla wyzwalania co 10ms i zmiana częstotliwości kwarcu
atmega8
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ł
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
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ł
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
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
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
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.
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.
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
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
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.
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
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ł
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.