Forum: Mikrocontroller und Digitale Elektronik zeitkritischer Interrupt


von Philipp Karbach (Gast)


Lesenswert?

Hallo ich erzeuge per Interrupt ein BAS Signal. Die Routine ist 
zeitkritisch und daher in asm geschrieben. Jetzt möchte ich eine PC 
Tastatur auslesen. Wie das geht weiß ich, nämlich per INT0. Problem der 
INT0 stört mein VSYNC und meine TV Ausgabe flimmert.

Daher habe ich zwei Fragen:
1. Wie würde man die Tastatur mit dem Interrupt auslesen ohne das andere 
Signal zu stören bzw. kann man eine Tastatur ohne Interrupt anzapfen? 
(So dass es auch funktioniert natürlich!)
2. Wenn ich einen zweiten mega als tastaturtreiber nehme und die beiden 
per UART/SPI/was auch immer verbinde. Wird dann mein Singal auch gestört 
werden?

von Zacc (Gast)


Lesenswert?

Ein wichtiges Timing macht man nie mit einem Prozessor der noch was 
anderes machen soll. Fuer ein Timing nimmt man ein CPLD/FPGA.

von Tony R. (tony)


Lesenswert?

Ansonsten müssten priorisierte Interrupts eine Möglichkeit sein. 
Zumindest bei den PIC's ist das ne Möglichkeit. Ob es die bei AVR's gibt 
weiß ich nicht.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Tastaturen laufen mit etwa 15kHz, da braucht man nicht unbedingt einen 
Interrupt dazu. Polle die Tastatursignale in Deinem 
Bilderzeugungsinterrupt und werte sie dann in der Main aus.

von avr (Gast)


Lesenswert?

Der EXINT0 stört nur, wenn man ihm das erlaubt (INT0 in GICR gesetzt).
Das Flag INTF0 selber steht im GIFR und wird unabhängig von
INT0 gesetzt.
Daher kann man INTF0 auch selber abfragen/bearbeiten/rücksetzen
und trotzdem zeitnah reagieren wenn das restliche Programm
nicht gestört wird.
avr

von Philipp Karbach (Gast)


Lesenswert?

INTF0 das hört sich interessant an!! Das muss ich mal ausprobieren.

von Philipp Karbach (Gast)


Lesenswert?

aber meine frage ist noch nicht beantwortet. Funktioniert UART/SPI öder 
stört das den Interrupt wohlmöglich auch?

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

UART und SPI mußt Du auch abfragen  senden  abholen. Je nach 
Programmierung stört das oder halt nicht. Du mußt Dein Programm so 
strukturieren, daß zeitkritische Dinge immer ohne Verzögerung 
abgearbeitet werden können und weniger kritische Dinge auch mal warten 
können, aber nicht so lange, daß Daten verloren gehen. Mehr kann man 
dazu nicht sagen.

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.