Atmega644 timer

Všetko čo sa týka mikropočítačov + Sekcia Arduino

Moderátori: psichac, Moderátori

DanielK
Stály člen
Stály člen
Príspevky: 282
Dátum registrácie: 28 Feb 2015, 14:55

Atmega644 timer

Príspevok od používateľa DanielK » 07 Jan 2021, 22:06

Ahoj, nedaří se mi vyvolat přerušení u Atmega644. Chtěl bych v přerušení každých pár ms zkontrolovat proměné. Nevíte co mám špatně?

Kód: Vybrať všetko

#define F_CPU 16000000
#include <avr/io.h>
#include <avr/interrupt.h>

ISR(TIMER0_OVF_vect)
{
//tady zkontroluj proměnou

TCNT0 = 193; // přednastaví hodnotu pro snížení času přetečení 
PORTB ^= (1 << PB1); //LED pro vizuální kontrolu, že proběhlo přerušení 
}

int main(){
DDRB = 0b00000010; // výstup na PB1
TIMSK0 |= (1<<TOIE0);  // povol přerušení na přetečení 
sei();
TCCR0A |= (1<<CS02);  // zapni předděličku 

While(1){
}
}

0

Používateľov profilový obrázok
Tribec Zacks
Pokročilý člen
Pokročilý člen
Príspevky: 709
Dátum registrácie: 26 Jún 2010, 00:00
Bydlisko: Levice / Cork IRL
Vek: 41
Kontaktovať používateľa:

Re: Atmega644 timer

Príspevok od používateľa Tribec Zacks » 07 Jan 2021, 22:22

Clock select bity CS00/CS01/CS02 su v registri TCCR0B a nie TCCR0A ako mas v kode, skus si to opravit, mozno pomoze :-)
0
Kreativita a motivacia je to, co prinasa originalne napady a myslienky, disciplina je to, co ich dokaze zrealizovat.

elsysaxon
Okoloidúci
Okoloidúci
Príspevky: 1
Dátum registrácie: 06 Apr 2021, 05:07

Re: Atmega644 timer

Príspevok od používateľa elsysaxon » 06 Apr 2021, 05:49

Áno pomohlo ďakujem
happy wheels
0

Napísať odpoveď