[elektro] AVR IRQ

Horvath Janos winnerbt at fibermail.hu
Sun Jan 24 20:47:18 CET 2016


Sziasztok!

Szerintem nem megy az INTben újabb INT érzékelése (vagy csak úgy, hogy 
meg is szakítja).

> 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?

Használj Timer INT-et külső Timer órajellel.
Timer-t belövöd FF-re és engedélyezed a Timer Int-et.
Ha bejön egy jel, akkor átfordul, ad INT-et és utána benne lesz a plusz
jelek száma.
Ha nincs szabad Timer, akkor az USI-ban terpeszkedő 4-bites számlálót
is használhatod, bár az minden élre nő.
(ja, nem tudom, M168-ban van-e USI, Tiny-kben van)

Csak távolról ugatom ám, nem biztos, hogy igazam van...

JAni


> Nekem az is elég, ha egyszer fut le a rutin, viszont tudjak róla, hogy
> mennyiről maradtam le.
> Azaz ha szép lassan jönnek az INT0 impulzusok, akkor minden alkalommal
> lefut a rutinom, de ha "pogózik" (prelleg) a bemenet, akkor pontosan
> tudjam, hogy mennyi élváltás történt.
>
>
>
>   								-Sygma
>
> -----------------------------------------
>            elektro[-flame|-etc]
>



More information about the Elektro mailing list