Hallo,
ich habe ein Programm auf einen Atmega8 laufen, dabei sind
PD2 und PD3 als int0 und int 1mit eigenen isr´s belegt.
Nun bräuchte für eine Programmerweiterung ich einen weiteren Interrupt.
Ich müsste den dafür schon vorhandenen Eingang PD4 als Interrupt konfigurieren.
Nach meiner Meinung könnte ich den Atmega8 durch einen pinkompatiblen Atmega88 ersetzen.
Nur ist mir nicht klar, wie ich den/die Pcint konfiguriere.
Zur jetzigen Belegung
PD0=Eingang
PD1=Eingang
PD2= Eingang (Int0), soll so bleiben
PD3=Eingang (Int1), soll so bleiben
PD4=Eingang, soll Interrupt werden
PD5= Ausgang, soll so bleiben
PD6= Eingang, soll so bleiben
PD7= Eingang, soll so bleiben
Wenn ich die Anleitung richtig verstanden habe, müsste ich nun den ganzen PortD als Interrupt-Eingang definieren, und dann in der zugehörigen isr die Abfrage machen, welcher Pin ausgelöst hat (und dann den zugehörigen Code ausführen)
Meine Überlegungen dazu:
Nur wenn jeder Eingang als Interrupt wirkt, könnte es Timing-Probleme geben?
Was mache ich mit dem Ausgang?
Kann ich die für die übrigen Eingänge (ohne Interrupt-Funktion) den Sprung in die ISR unterbinden?
Danke
Gruß
Hans
ich habe ein Programm auf einen Atmega8 laufen, dabei sind
PD2 und PD3 als int0 und int 1mit eigenen isr´s belegt.
Nun bräuchte für eine Programmerweiterung ich einen weiteren Interrupt.
Ich müsste den dafür schon vorhandenen Eingang PD4 als Interrupt konfigurieren.
Nach meiner Meinung könnte ich den Atmega8 durch einen pinkompatiblen Atmega88 ersetzen.
Nur ist mir nicht klar, wie ich den/die Pcint konfiguriere.
Zur jetzigen Belegung
PD0=Eingang
PD1=Eingang
PD2= Eingang (Int0), soll so bleiben
PD3=Eingang (Int1), soll so bleiben
PD4=Eingang, soll Interrupt werden
PD5= Ausgang, soll so bleiben
PD6= Eingang, soll so bleiben
PD7= Eingang, soll so bleiben
Wenn ich die Anleitung richtig verstanden habe, müsste ich nun den ganzen PortD als Interrupt-Eingang definieren, und dann in der zugehörigen isr die Abfrage machen, welcher Pin ausgelöst hat (und dann den zugehörigen Code ausführen)
Meine Überlegungen dazu:
Nur wenn jeder Eingang als Interrupt wirkt, könnte es Timing-Probleme geben?
Was mache ich mit dem Ausgang?
Kann ich die für die übrigen Eingänge (ohne Interrupt-Funktion) den Sprung in die ISR unterbinden?
Danke
Gruß
Hans
Gruß
Hans
Hans