čas za který nastane přerušení? – Mikrokontroléry – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

čas za který nastane přerušení? – Mikrokontroléry – Fórum – Programujte.comčas za který nastane přerušení? – Mikrokontroléry – Fórum – Programujte.com

 

Tonda
~ Anonymní uživatel
32 příspěvků
30. 9. 2012   #1
-
0
-

Ahojte. Myslíte, že by se tu našla dobrá duše, která by mi poradila? Potřeboval bych zjistit, za jakou dobu nastane přerušení, když mám krystal 8MHz a nastavení takovéto:

	TCCR1B |= (1<< CS12);
	TIMSK |= (1<< OCIE1A);
	OCR1A=65224;

podle mých výpočtů cca každých 10ms. Je to OK? Děkuji

Nahlásit jako SPAM
IP: 89.102.182.–
KIIV
~ Moderátor
+43
God of flame
30. 9. 2012   #2
-
0
-

no prescaler mas na 256.. normal mode (tj. ne CTC mod) takze deleni dalsima 65535... frekvence preruseni pak bude:

8000000/(256*(65535+1)) => 0,476837158203125 Hz  ->  2,097152s

se zaplym CTC na tom ale nebudes o moc lepe..

ale odhadem, kdyz zapnes CTC mode, prescaler na 1  a  OCR1A = 7999 pak bys mel dostat preruseni kazdou milisekundu

pokud das prescaler na 8 a OCR1A = 9999 tak kazdych 10 milisekund

Nahlásit jako SPAM
IP: 94.112.32.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Palkic.89
~ Anonymní uživatel
8 příspěvků
30. 12. 2012   #3
-
0
-

Ahoj, potřebuju udělat časování po 1 sec na ATmega8 a použil jsem návod z knížky od V. Váni - Mikrokontroléry AVR programování. Ovšem délka jedné periody není 1 sec jak bych předpokládal, ale 2,9 sec. Mohl by mi někdo kvalifikovaný říct jestli je to opravdu správně? Děkuji :)

TCCR1A=0;
TCCR1B=0b00000100;  // clk/256 (XTAL 8MHz)
TCNT1= 34286;            // 2^16-8000000/256 = 65536-31250 = 34286  
OCR1A=0;
OCR1B=0;
GIMSK=0;
MCUCR=0;
TIMSK=0b00000100;  //  Bit 2 - Overflow Interrupt Enable

ISR(TIMER1_OVF_vect)
{  sec++;  };

Nahlásit jako SPAM
IP: 89.102.186.–
KIIV
~ Moderátor
+43
God of flame
30. 12. 2012   #4
-
0
-

no podobne jako v minulem prispevku:

nepouzivas CTC mod... zkousis pomoci preruseni a pak pokazdy nastavit TCNT1 na tu vypoctenou hodnotu... akorat ze nenastavujes znova TCNT1....

pritom kdyz pouzijes CTC mod, tak si nastavis 31249 jako TOP hodnotu a pak se uz akorat zavola preruseni pri dosazeni teto honoty + automaticky se vynuluje pocitadlo ...  jen si ted nepamatuju ktery preruseni... jestli compA/B nebo overflow - mozna taky zalezi na tom kterej CTC mod vyberes

Nahlásit jako SPAM
IP: 94.113.92.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 7 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý