Piotr Chmiel
Guest
Sun Nov 07, 2004 6:17 pm
Czy można wywołaś przerwanie programowo np. ustawiają tę samą flage
(OCF1A=1) którą ustawia AVR kiedy są spełniowe warunki tego przerwania ?
Czy jedynym sposobem na przerwanie jest spełnienie tych warunków ?
Konkretnie chodzi mi o przerwanie TIMER1_COMPA .
Rafal Baranowski
Guest
Sun Nov 07, 2004 6:40 pm
Użytkownik "Piotr Chmiel" <piotr@topaz.zsel.lublin.pl> napisał w wiadomości
news:20041107185419.H30004@topaz.zsel.lublin.pl...
Quote:
Czy można wywołaś przerwanie programowo np. ustawiają tę samą flage
(OCF1A=1) którą ustawia AVR kiedy są spełniowe warunki tego przerwania ?
Pytanie pomocnicze: a jak ustawić znacznik przerwania, jeśli zapisywanie go
wysoką wartością logiczną powoduje jego wyzerowanie? Ano nie da się. ;-)
Quote:
Czy jedynym sposobem na przerwanie jest spełnienie tych warunków ?
Ano, trzeba zapisać:
OCR1A:=TCNT1
lub
TCNT1:=OCR1A-1
(musi być "-1", bo zapisanie TCNT1:=OCR1A nie wywołuje zdarzenia zgodnego
porównania)
Pzdr,
Raf.
Arek Karas
Guest
Sun Nov 07, 2004 6:41 pm
Użytkownik "Piotr Chmiel" <piotr@topaz.zsel.lublin.pl> napisał w wiadomości
news:20041107185419.H30004@topaz.zsel.lublin.pl...
Quote:
Czy można wywołaś przerwanie programowo np. ustawiają tę samą flage
(OCF1A=1) którą ustawia AVR kiedy są spełniowe warunki tego przerwania ?
Niestety w AVR flage zeruje sie poprzez wpisanie jedynki, nie ma mozliwosci
ustawienia flagi programowo.
Pozdr
AK