Ahoj,
nemohu se nějak domluvit s ext. oscilátorem 32.768kHz. Mám nastaveno:
- TMR1CS = 1 (ext. clock)
- T1OSCEN = 1 (zapnut T1 oscilátor)
- TMR1ON = 1 (zapnut TMR1)
- T1SYNC = 0
- předdělička 1:1
Používám demo desku PICDEM 2 PLUS
Vynuluji TMR1L a TMR1H. Pak ve smyčce testuji bit TMR1IF, který by se měl nastavit při přetečení TMR1.
Protože mi to nešlo podle mých představ, zkoušel jsem to krokovat. A zde mi není jasné toto:
-
Předpokládám, že když jednou zapnu externí oscilátor s krystalem 32.768 kHz (bit T1OSCEN), tak bude kmitat tak dlouho, dokud jej zase tímtéž bitem nevypnu.
-
Kmitočet z tohoto oscilátoru zřejmě projde všemi hradly, co mu stojí v cestě (za předpokladu, že jsou uvolněná), tedy TMR1CS, předdělička, T1SYNC, TMR1ON a pak už je na vstupu čítače TMR1L.
A moje otázka zní: bude TMR1 čítat standardní rychlostí (tedy 32.768 kHz) i při krokování - tedy i v době, kdy “stojím”? Nebo je jeho čítání blokováno nebo nějak synchronizováno s krokováním?
- K čemu slouží synchronizační obvod v TMR1?
Díky za ochotu.
Vlasťa
administrator: přejmenováno z "TIMER1 ext. clock u PIC16F883"