INT0 "dauernutzung"

Gast #1646386
Lesenswert?

hallo zusammen,
ich programmiere gerade nen atmega8-16 und habe mich mit dem thema 
interrupt näher befasst. leider konnte ich nicht herausfinden, ob eine 
dauernutzung möglich ist. ich wollte es so einstellen, dass bei 
low-pegel ausgelöst wird. dann beginnt das unterprogramm und schaltet 
einen port auf eins, wärend der interrupt abgearbeitet wird kann ja nich 
nochmal ausgelöst werden. wichtig wäre, das nach dem reti-befehl also 
dem ende des unterprogramms immer wieder das interrupt ausgelöst wird so 
lange INT0 den low-pegel hat.

kann man die interrupts überhaupt auf diese weise nutzen? und würde dann 
auch immer wieder ausgelöst wenn INT0 auf low ist?

mfg hannes
#1646411
Lesenswert?

Dennis E. schrieb:
> Exht? Sowas gibts bei meinen MSP430ern nicht, glaub ich...zumindest noch
> nicht gesehen im Datenblatt.

Daher gehts ja hier auch um nen ATMega8 ...

@Hannes: Vermutlich bekommst du eine höhere Bearbeitungsfrequenz, wenn 
du innerhalb der ISR eine Schleife baust, die den Pin manuell auswertet. 
Eine ISR bringt einen u.U. beachtlichen Overhead mit sich und verbrät 
locker acht oder mehr Zyklen ohne eine Zeile "echten" Code ausgeführt zu 
haben.
Ein einfacher Test auf ein gesetztes Bit sollte da deutlich 
effektiver/schneller sein.

mfG
Markus
#1646495
Lesenswert?

Hannes schrieb:
> also wäre so schneller:

Was weißt du?
Du weißt, dass bei Betreten der ISR die Leitung auf Low ist. Das muss so 
sein, sonst wäre die ISR nie betreten worden

D.h. du kannst auf jeden Fall deine Kontrolleitung ebenfalls auf low 
ziehen.

und dann warten bis der Eingang wieder auf High geht

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren