Forum: Mikrocontroller und Digitale Elektronik Caprute Interrupt beim dsPIC30F2010


von winharda (Gast)


Lesenswert?

Hallo,
wir versuchen gerade eine Impulsdauer mit Hilfe des Timers T3 und des 
Capturepins IC2 zu erfassen. Das Signal liegt am Pin14 (IC2) an. Der 
Timer ist so konfiguriert, dass er einfach von 0 bis zum Maximalwert von 
65535 zählt. Der Interrupt für den IC2 ist auf steigende Flanke 
konfiguriert, aber er kommt leider nicht. Hier ist der Codeausschnitt:

// Input Capture
TMR3 = 0;                       // zählregister auf 0
PR3 = 0xFFFF;                   // maximum count time
T3CON = 0x8000;                 // TCS = 0: interner Takt;
IC2CON = 0x0003;                // Interrupt nach jeder steigenden 
Flanke

IFS0bits.IC2IF = 0;             // Clear the IC2 interrupt flag bit
IEC0bits.IC2IE = 1;             // Set the IC2 interrupt enable bit

while(1) //Loop forever
{

}

void __attribute__((interrupt, no_auto_psv)) _IC2Interrupt(void)
{

   //Code für Capture
   IFS0bits.IC2IF = 0;
}

von Andreas W. (winharda)


Lesenswert?

Keiner eine Idee, was da falsch sein könnte...? Oder passt der Code?

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.