Hallo,
ich versuche gerade den Timer1 in einem PIC18F2685 so zum laufen zu
bekommen, dass er mir im Sekundenintervall einen Interrupt generiert.
Also extern einen 3276,8 kHz dran gehängt (ja, DEN Wert, nicht den
üblichen 32,768kHz da ich davon gerade keinen da habe).
Als normaler "System"quarz dient ein 10MHz mit PLL aktiviert.
Ich habe dann folgenden Code genommen:
1 | //Interrupt + Einstellung Timer1 zuständig für die Uhr
|
2 | PIE1bits.TMR1IE = 1; //Timer1-Interrupt erlauben
|
3 | PIR1bits.TMR1IF = 0;
|
4 | T1CONbits.T1CKPS1 = 1; // bits 5-4 Prescaler Rate Select bits
|
5 | T1CONbits.T1CKPS0 = 1; // bit 4
|
6 | T1CONbits.T1SYNC = 1; // bit 2 Timer1 External Clock Input Synchronization Control bit...1 = Do not synchronize external clock input
|
7 | T1CONbits.TMR1CS = 0; // bit 1 Timer1 Clock Source Select bit...0 = Internal clock (FOSC/4)
|
8 | T1CONbits.TMR1ON = 1; // bit 0 enables timer
|
Damit bekomme ich einen Interrupt alle 52,425ms, eine Änderung der Werte
in den Registern TMR1L/TMR1H bewirkt garnichts und wenn ich auf den
extra Quarz wechseln will indem ich
auf 1 setze, dann gibts es keinen Interrupt mehr.
Daher nun meine Frage: Was mache ich da falsch bzw. wie muss es sein,
damit es geht?
Gruß