PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Interrupteingang bei Main Unit



dcv
17.09.2004, 15:51
Ist es möglich einen Interruoteingang auf der Main Unit zu verwenden, immerhin liegt der Interrupteingang IRQ links neben dem Reseteingang (reset ist durch den punkt in der Mitte oben auf dem Prozessor gekennzeichnet) und müsste eigentlich nur auf Masse gelegt werden um das Interrupt auszulösen? Warum funktioniert das bei mir nicht - bei der M-Unit ist das doch genauso und der Prozessor ist der gleiche. Ich bin für jede Antwort schon im vorraus sehr dankbar. Übrigens wenn ich der Reset auf Masse lege passiert auch nichts und das Programm läuft weiter, obwohl der Schaltung zu entnehmen ist, dass der Reset-Taster nichts anderes macht.

Dirk
17.09.2004, 17:11
Hallo "dcv",

hast Du die CC1 "pur" ohne C-Control-Platine?
Jedenfalls muß RESET und IRQ mit einem Pullup-Widerstand mit VCC verbunden sein, der Taster geht dann an Masse; so funktioniert es hardwäremäßig.
Wie prüfst Du die Software-Seite? Was macht Deine Interrupt-Routine z.B.?

Gruß Dirk

dcv
17.09.2004, 18:05
Danke für die Antwort.
Ich habe die ganz normale C-Control Main Unit, dadurch ist ja schon Pull-Up-Widerstand Hardwaremäßig da, trozdem funktioniert es nicht. Meine Interrupt Routine ist ein simples Beispieltestprogramm. Aber wie gesagt der Reseteingang auf dem Prozessor löst auch nicht das Resetereignis aus wenn man es auf Masse legt-obwohl der Taster eigentlich das gleich macht, oder?

Dirk
18.09.2004, 11:50
Hallo dcv,

es ist kaum vorstellbar, dass beide Eingänge nicht funktionieren.

Als eine (seltene) Möglichkeit für das Nicht-Funktionieren von RESET könnte ein Defekt (Kurzschluß) von C4 vorliegen und dadurch ein ständiger Low-Pegel an RESET anliegen. Du solltest auch den Taster S1 überprüfen. Leg doch einmal ein Spannungsmessgerät an C4, hier sollte VCC anliegen, beim Drücken des Tasters S1 dann Null Volt.
Für IRQ solltest Du auch genauso erst die Hardware-Seite checken, dann Dein Testprogramm prüfen oder hier 'mal einstellen.

Gruß Dirk

mikrokuhl
18.09.2004, 12:52
Könnte es sein, dass die Interrupt-Bedingungen nicht richtig aufgesetzt sind? Zunächst muss die Maske im CCR gelöscht sein (CLI) und dann gibt es da noch so ein ominöses „miscellaneous register“ (siehe Seite 3-9 im Datasheet), da muss die externe Interruptquelle auch enabled werden (IRQE Bit löschen). In diesem Register setzt man auch die Sensitivität (flanken- oder pegel-Trigger). Vielleicht hilft das.