Stránka 2 z 2

Napsal: 03 lis 2008, 16:40
od hall
Jestli plácám blbosti tak mì oprav. S atmelama dìlám teprve 2 týdny, tak nevím co tímhle myslíš. Prostì mám mcu na 14.7456 MHz a timeru1 mám nastavený dìlitel 1 a obsluhuju pøerušení.

Napsal: 03 lis 2008, 16:52
od mihal
A isto je u Atmela frekvencia oscilatora zaroven frekvencia zbernice? Bezne to byva f/2 a f/4 :?

Napsal: 03 lis 2008, 17:29
od hall
Asi jo. Podle toho mi bìží v jiném pøerušení s dìlitelem 256 hodiny a ty se nezpožïují ani nepøedbíhají.

Napsal: 03 lis 2008, 17:31
od Andrea
hall píše:Jestli plácám blbosti tak mě oprav. S atmelama dělám teprve 2 týdny, tak nevím co tímhle myslíš. Prostě mám mcu na 14.7456 MHz a timeru1 mám nastavený dělitel 1 a obsluhuju přerušení.
Přerušení od čeho, od přetečení nebo od compare match? Jestli od přetečení, tak je frekvence přerušení 14745600/65536 [Hz]. Jestli od compare, tak je frekvence přerušení 14745600/(hodnota v compare registru) [Hz]

Napsal: 03 lis 2008, 17:48
od hall
Od pøeteèení. Proè tedy hodiny ukazují správnì když je mám v pøeteèení timeru0 bitSet(TCCR0, CS02);/256 dìlitel a v obsluze pøerušení mám TCNT0=0? Tyhle dvì hodnoty sice dávají 65536, ale obì mohu mìnit a pak dostanu dìlitel který potøebuju.

Napsal: 03 lis 2008, 19:00
od Kado
Atmega16 nema delicku taktov z oscilatora, takze kmitocet osc je pouzity pre "napajanie" ostatnych casti mcu. Pri kazdom casovaci si mozes nastavit delicku tohto kmitoctu na 1,8,64,256,1024,
ak mas kmitocet krystalu 14xxxMhz a delicku pre pouzity timer, mas nastavenu na 1 (no prescaling), a mas nastav. rezim CTC (compare match), tak potom hodnota v reg OCRx udava vrchol,
z datashitu je zrejme, ze ak je OCRx = 0; a mas rezim casovaca CTC bez delenia kmitoctu a "vystup casovaca" je na prislusny pin, tak frekvencia merana na tomto pine bude polovica z frekvencie krystalu...

Napsal: 03 lis 2008, 19:13
od Andrea
hall píše:Od přetečení. Proč tedy hodiny ukazují správně když je mám v přetečení timeru0 bitSet(TCCR0, CS02);/256 dělitel a v obsluze přerušení mám TCNT0=0? Tyhle dvě hodnoty sice dávají 65536, ale obě mohu měnit a pak dostanu dělitel který potřebuju.
Nechápu otázku.

Napsal: 03 lis 2008, 19:38
od hall
Andrea: mám obsluhu pøeteèení timeru0, ta udává délku vteøiny pro hodiny. Pokud se provede Xkrát, tak pøibude sekunda.

Napsal: 03 lis 2008, 19:41
od Andrea
hall píše:Andrea: mám obsluhu přetečení timeru0, ta udává délku vteřiny pro hodiny. Pokud se provede Xkrát, tak přibude sekunda.
No a jak zněla otázka?

Napsal: 03 lis 2008, 20:03
od hall
No spíš jsem ukazoval, že dìlitel není vždy 65536 a mùže být i 1, což asi neplatí u timeru1, když ho ke všemu používám na 9-bit pwm.

Napsal: 05 lis 2008, 18:43
od Zirafka
Hmm, asi si také sedím na vedení. Tím dělitelem myslíš předděličku a nebo přímo TIMER1? Pokud předděličku, tak tu si můžeš nastavit jak chceš, ale nevím, jak chceš nastavit TIMER1 na dělení 1