Gast
#819944
Ich habe ein Problem mit den externen Interrupts bei einem Attiny2313. Erst mal die Beschreibung der Funktion: Das Programm realisiert ein 16-Bit Schieberegister. Die Daten werden über PD0 eingelesen und mit PD2 weitergetaktet. An PD1 werden sie wieder herausgeschoben.Ein Strobe_Signal an PD3 übergibt das obere Byte an den Timer0, der eine PWM realisiert. Das untere Byte wird an Port B ausgegeben. An PD5 erscheint das PWM Signal, an PD4 und PD6 werden die Steuersignale für eine H-Brücke ausgegeben. Die Richtungsinformation liegt im Bit 0 von des Eingabewords. Die Steuersignal kommen vom PC (TXD als Strobe, DTR als Daten und RTS als Takt), prellen also auch nicht. Sie kommen auch, das habe ich mit einem anderen kleinen Programm im Tiny physisch getestet. Problem: Wenn ich INT0 auslöse, zählt es hoch, wie es soll. Löse ich aber INT1 aus, dann wird scheinbar INT0 auch gleich mit ausgeführt, denn es wird munter weiter im "Schieberegister" nach links geschoben. Das Alles im Simulator. In Natura passiert an Port B und an PD5 (das ist OCR0B von Timer 0) nichts. Ich weiß mir keinen Rat mehr, wo der Fehler liegt. :-( MfG Paul