Gast
#6214766
hi hat jemand eine Ahnung, warum die ISR vom Port 2 nicht aufgerufen wird?
|
Anzeige
|
ISR Port wird nicht aufgerufen
Gast
#6214766
hi hat jemand eine Ahnung, warum die ISR vom Port 2 nicht aufgerufen wird?
Gast
#6214965
Hallo lukker. Das bist du ja schon wieder. Muss es vielleicht
heissen? Bist du denn sicher, dass die Hardware Ok ist? Hast du eindeutige Logikpegel (HIGH/LOW), oder eventuell einen Pull-Up Widerstand vergessen? Zeige mal deinen Schaltplan. Woher weisst du denn, dass die ISR nicht aufgerufen wird?
Gast
#6215010
Stefan ⛄ F. schrieb: > uss es vielleichtinterrupt(PORT2_VECTOR) P2_ISR(void) > > heissen? nope Stefan ⛄ F. schrieb: > Bist du denn sicher, dass die Hardware Ok ist? Hast du eindeutige > Logikpegel (HIGH/LOW), oder eventuell einen Pull-Up Widerstand > vergessen? also meines Wissens ist es so passend. Hardware ist in Ordnung. Stefan ⛄ F. schrieb: > Woher weisst du denn, dass die ISR nicht aufgerufen wird? zum einen empfange ich die Strings nicht. zum anderen wird das dazugehörige Programm (hab ich hier garnicht beigfügt) nicht abgearbeitet
Gast
#6215018
lukker schrieb: > also meines Wissens ist es so passend. Hardware ist in Ordnung. Woher weisst du das? hast du nachgemessen? Zeige doch mal den Schaltplan und Fotos, dann können wir das mal kontrollieren. > zum einen empfange ich die Strings nicht. Das kann auch 100 andere Gründe haben. Du hast ja nicht einmal eine Startmeldung im Programm. Sende mal eine Startmeldung innerhalb von main() und schalte in der ISR mal ganz am Anfang (ohne if-Bedingung) eine LED ein. Hast du keinen Debugger?
Gast
#6215029
Eine Warteschleife (debounce-Funktion) in einen Interrupt zu setzen ist evtl. nicht sooo klug. Vielleicht wird die ISR ja aufgerufen, wird aber ständig vom nächsten Aufruf überholt, weil die Warteschleife zu lange braucht? Bzw. der nächste Trigger zu schnell kommt?
Gast
#6215203
ich habe keine Ahnung...
Gast
#6215327
lukker schrieb: > ich habe keine Ahnung... Dann mach doch mal, was Stefan vorgeschlagen hat. Toggel z.B. eine LED beim Betreten des Interrupts. Oder einfach ohne LED und dann mit dem Oszi messen...
Gast
#6215849
ich habe es jetzt zum laufen bekommen und etwas erweitert.
ich habe das Problem, dass wenn ich T_SET etwas länger als 2 sec drücke, die ISR von TIMER A2 mindestens ein zweites mal aufgerufen wird. D.h. er springt in den anderen Modus und wieder zurück. Hat jemand eine Idee, warum das so ist?
Gast
#6215904
auch das habe ich gelöst bekommen, indem ich die Flag in der 2. if-Bedingung gelöscht habe Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|