Forum: Mikrocontroller und Digitale Elektronik [AVR] Manueller Trigger des Externen Interrupts


von Guest (Gast)


Lesenswert?

Hab hier Code der folgendermaßen funktionieren soll:

Ein Pin ist als Eingang geschaltet und der externe Interrupt ist darauf 
aktiviert, so dass er bei einer fallenden Flanke ankommt.

In der ISR, wenn also eine Flanke empfangen wurde soll er warten (ja, 
ich weiß, nicht gut, aber an der stelle egal), bis der Pin wieder high 
ist, ihn dann als Output schalten, auf low ziehen, warten, ihn wieder 
als Input konfigurieren.

Wenn ich das tue, sollte er doch sofort nach dem Beenden des Interrupts 
einen neuen Interrupt generieren, weil während des Interrupts ja eine 
weitere fallende Flanke passiert ist.

Oder geht das so nicht?

von holger (Gast)


Lesenswert?

>Oder geht das so nicht?

Ausprobieren? Was hält dich davon ab?

von Guest (Gast)


Lesenswert?

Das tue ich. Allerdings funktioniert der Code nicht und es hat die 
Anzeichen von "der Interrupt wird nicht oft genug aufgerufen". Könnte 
aber auch was anderes sein. Deswegen frage ich.

von Thomas E. (thomase)


Lesenswert?

Guest schrieb:
> Oder geht das so nicht?
Das geht so.

mfg.

von holger (Gast)


Lesenswert?

>Das tue ich. Allerdings funktioniert der Code nicht und es hat die

Warum sagst du das nicht gleich?

>Anzeichen von "der Interrupt wird nicht oft genug aufgerufen".

Der wird nur bei einem Event aufgerufen. Interrupts werden
wohl kaum per Polling abgefragt.

> Könnte aber auch was anderes sein. Deswegen frage ich.

Dein Code ist falsch. So, und jetzt?

von Guest (Gast)


Lesenswert?

holger schrieb:
>>Das tue ich. Allerdings funktioniert der Code nicht und es hat die
>
> Warum sagst du das nicht gleich?

Weil es irrelevant für die Beantwortung der Frage ist.

holger schrieb:
>>Anzeichen von "der Interrupt wird nicht oft genug aufgerufen".
>
> Der wird nur bei einem Event aufgerufen. Interrupts werden
> wohl kaum per Polling abgefragt.

U don't say!?

holger schrieb:
>> Könnte aber auch was anderes sein. Deswegen frage ich.
>
> Dein Code ist falsch. So, und jetzt?

Nun wüsst ich gern ob es daran liegen könnte.

Thomas Eckmann schrieb:
> Guest schrieb:
>> Oder geht das so nicht?
> Das geht so.
>
> mfg.

Vielen Dank!

von holger (Gast)


Lesenswert?

>> Dein Code ist falsch. So, und jetzt?
>
>Nun wüsst ich gern ob es daran liegen könnte.

Ja, kann es. Zeile 42.

von Magnus M. (magnetus) Benutzerseite


Lesenswert?

Guest schrieb:
>> Der wird nur bei einem Event aufgerufen. Interrupts werden
>> wohl kaum per Polling abgefragt.
>
> U don't say!?

Was soll der Scheiß?

> holger schrieb:
>> Dein Code ist falsch. So, und jetzt?
>
> Nun wüsst ich gern ob es daran liegen könnte.

Mit an Sicherheit grenzender Wahrscheinlichkeit: JA!

Glaubst du nicht, dass sich in seiner Aussage die Frage nach deinem Code 
versteckt?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.