Gast
#1710958
Hi, Ich benutze den PIC24F08KA102 und habe das Problem, dass der Komparator nicht geht. Der Plan war wenn ein Signal an C2INC anliegt das größer als CVREF ist, dann soll C2OUT high gehen, einen Interrupt auslösen und RA4 gleich high setzen. Wenn ich z.B. statt 0V, 1V an C2INC anlege passiert nichts. Das Programm sieht so aus #include <p24f08ka102.h> void __attribute__((interrupt, auto_psv)) _CompInterrupt(void) { _LATA4 = 1; //RA4 = high, when _CMIF = 0; } int main (void) { _TRISA4 = 0; _TRISB3 = 1; //C2INC = analog input CM2CON = 0xa0f1; CVRCON = 0x0080; //Vref is on - Vref = 1/4*Vdd=0,825V _CMIF = 0; _CMIE = 1; _LATA4 = 0; while (1) { } } Die Register CMxCON und CVRCON sind auf Seite 181 im Datenblatt zu finden. Nach der Befehlszeile CM2CON = 0xa0f1; wird das Registerbit C2EVT(CEVT) high gesetzt und es bleibt auch high. Dürfte aber erst high gehen wenn C2INC größer wird als CVref. Vielen Dank falls einer mal ne Erklärung dafür haben könnte. Gruß


