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?
Ein wichtiges Timing macht man nie mit einem Prozessor der noch was anderes machen soll. Fuer ein Timing nimmt man ein CPLD/FPGA.
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.
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.
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
aber meine frage ist noch nicht beantwortet. Funktioniert UART/SPI öder stört das den Interrupt wohlmöglich auch?
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.