[elektro] AVR IRQ
Pataki István
pataki.istvan at freemail.hu
Mon Jan 25 18:33:57 CET 2016
Az eredeti kérdésre ugyan nem tudok válaszolni, de én úgy értem, hogy ha
a megszakítási rutin futása alatt újabb megszakítás(ok) jön(nek), akkor
azokat se veszítse el.
Erre javasolta valaki, hogy tegyen rá számlálót.
Nem vagyik szoftveres, nézzétek el nekem, ha nagyon rossz az ötletem, de
én úgy csinálnám, hogy a megszakítás először inkrementálna egy
számlálót, Ha az éppen 1, akkor törölné a megszakítás flaget,
engedélyezné a megszakítást és elindítaná a megszakítás végrehajtó
rutinját, aminek a végén dekrementálná a számlálót. és ha nem nulla,
akkor ismét futtatná a végrehajtó rutint. Ha az inkrementálás eredménye
nagyobb, mint 1, akkor törölné a megszakítás flaget, engedélyezné a
megszakítást, és kilépne. Vagyis a végrehajtás közben beeső
megszakításkéréseket egy rövid rutinban számlálná, és a végrehajtó rutin
végén nézné meg, hogy van-e még várakozó esemény.
pi
----- Original Message -----
From: "Kiss Gabor" <kissg at ssg.ki.iif.hu>
Newsgroups: hun.lists.elektro
To: <elektro at tesla.hu>
Sent: Monday, January 25, 2016 9:13 AM
Subject: Re: [elektro] AVR IRQ
On 01/24/2016 07:59 PM, Szima Gábor wrote:
> AVR (Mega168) esetén lehet olyan megszakítási módot használni
> (konkréten
> INT0-nál), hogy ne vesszen el egyetlen megszakítás sem, viszont ne a
> megszakítást szakítsa meg egy újabb esemény hanem az épp futó
> megszakításrutint befejeztével fusson le újból?
Hogyhogy "újból"?
(Van általános elképzelésem a problémáról, csak előbb tisztázzuk, hogy
mit is szeretnél!)
g
More information about the Elektro
mailing list