Hallo zusammen, ich bin dabei mit dem PIC18F2320 Hall Sensor Signale mit den Interrupt-On-Change Eingängen einzulesen. Ich habe global die Interrupts freigegeben sowie die drei Interrupts On-Change auf Eingang gesetzt und freigegeben. Die Flanke ist auf fallend gestellt. Leider springt das Programm nie in die Interrupt Service Routine. Könnt ihr mir weiterhelfen? void __interrupt () hall_sensor_mode (void) { PORTCbits.RC1 = 1; //Setzen eines Ausgangs zum Testen } Danke im Voraus! Gruß Maxi
Ja, ich hab die Pins mit folgendem Code auf digital gesetzt: #pragma config PBAD=DIG
Bin jetzt nicht der Fachmann bei PIC, aber wird damit nicht nur Port B digital gesetzt und du möchtest mit Port C arbeiten? #pragma config PBAD=DIG
Ja das stimmt, aber Pin C ist defalutmäßig auf digital gesetzt und der Befehl funktioniert auch in der Main Funktion.. es geht darum, dass das Interrupt Flag der Interrupt On Change Eingänge nicht gesetzt wird obwohl ein Rechtecksignal anliegt.
Okay Fehler gefunden... Ich habe zwar die Ports auf digital gesetzt über den Config Befehl, nutze aber gleichzeitig den AD-Wandler und habe bei der Initialisierung alle AN-Eingänge manuell auf analog gesetzt.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.