Forum: Mikrocontroller und Digitale Elektronik Interrupt PIC16F627A


von Olaf R. (olaf_rechtner)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

vielleicht hat jemand eine Ahnung warum der Compiler nicht auf die unter 
"INT16CXX.H" standardmäßig hinterlegten Interrupt-Funktionen zugreifen 
kann (s. Anhang).

Grüße
Olaf

: Bearbeitet durch User
von holger (Gast)


Lesenswert?

>vielleicht hat jemand eine Ahnung warum der Compiler nicht die unter
>"INT16CXX.H" standardmäßig hinterlegte Interrupt-Funktionen zugreifen
>kann (s. Anhang).

Weil du kein #include <int16CXX.H> gemacht hast?

von Olaf R. (olaf_rechtner)


Angehängte Dateien:

Lesenswert?

Ja - habe die Datei jetzt anders eingebunden (nicht mehr über MPLAB) und 
es funktioniert.

Aber die Interrupt-Routine erstaunt mich trotzdem.

Über einen Bewegungsmelder kommt ein Signal an den Pin RB0/INT. Wenn der 
PIC nicht in die Fassung eingesetzt ist, kommt sauber ein 
Spannungssignal sobald sich etwas bewegt. Soweit so gut. Wenn ich nun 
den PIC in die Fassung einsetze und ein Interrupt ausgelöst wird 
(Bewegungsmelder spricht an), dann bleibt das Signal auf High stehen 
(auch wenn sich nichts mehr bewegt). Wenn ich den Pin kurz auf Masse 
brücke, wird wieder ein Interrupt ausgelöst und die LED blinkt 2x. Dies 
geschieht sogar auch dann, wenn ich nur die Spannung am Pin messe. Der 
Pin steht fest auf High. Es scheint mir als wäre ein Pull-Up 
eingeschaltet. Auch OPTION.7 = 1 (bzw. RBPU=1) hat nichts gebracht...

Für Ideen wäre ich sehr dankbar, anbei der Code - vielleicht hat noch 
wer einen Einfall woran es liegen könnte.

Gruß
Olaf

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
Noch kein Account? Hier anmelden.