Gast
#6174203
Hi, ich habe hier einen PIC32MX350, der mittels eines externen Signals angesteuert wird. Dieses Signal ist recht simpel: SYNC geht auf HIGH, CLK wechselt 22 mal (es wird jeweils auf beide Flanken reagiert), SYNC geht auf LOW, CLK wechselt noch einmal. CLK ist in meiner Software an INT1 und INT2 gebunden (jeweils für steigende und fallende Flanke), SYNC ist an INT4 gebunden (hier interessiert nur die fallende Flanke). Jetzt sollte sich ja theoretisch ein Verhältnis von 23:1 ergeben: wenn meine CLK-Interrupts 23 mal ausgelöst werden, kommt der SYNC-Interrupt einmal. Tatsächlich ist das Verhältnis aber 3:1 bzw. 4:1. Wenn ich mit dem Oszilloskop direkt an den Eingängen des PIC messe, ist alles OK, die Signale stimmen und es ist auch kein Rauschen zu sehen, welches Fehlinterrupts bewirken würde. Meine Fragen: was könnte noch dafür verantwortlich sein, dass der SYNC-Interrupt zu häufig kommt? Und angenommen, die Interrupts passen und meine ISR für die CLK-Interrupts ist zu langsam - wie kann ich das überprüfen? Gibt es irgend eine Möglichkeit, einen Taktzyklenzähler oder ähnliches im PIC abzufragen, um am Anfang und am Ende der ISR zu ermitteln, wie viel Zeit die tatsächlich benötigt hat? Danke!