Ich versuche damit Überläufe TMR1
zu zählen TMR0
. Zu diesem Zweck verwende ich TMR1
mit aktiviertem Gate und mit TMR0
Überlauf als Gate-Quelle.
Mit MPLAB SIM kann ich sehen, dass TMR0
gezählt wird und überläuft. Das TMROIF
Bit in INTCON
wird korrekt gesetzt.
TMR1
zählt korrekt ohne aktiviertes Gate und stoppt, wenn ich die Gate-Steuerung aktiviere - soweit so gut.
Ein TMR0
Überlaufen scheint jedoch nicht das Tor auszulösen. Das T1GVAL
Bit von T1GCON
wird nie gesetzt.
Ich TMR1
laufe bei Fosc und ich habe das Gate nicht im Umschaltmodus oder Einzelimpulsmodus ...
TMR0
läuft bei instruction clock / 256
, obwohl ich davon ausgehe , dass dies keine Rolle spielt ...
Hier sind meine Konfigurationsbits:
__CONFIG _CONFIG1, _FOSC_INTOSC & _WDTE_OFF & _PWRTE_OFF & _MCLRE_ON & _CP_OFF & _CPD_OFF & _BOREN_OFF & _CLKOUTEN_OFF & _IESO_OFF & _FCMEN_OFF</code>
__CONFIG _CONFIG2, _WRT_OFF & _PLLEN_OFF & _STVREN_OFF & _BORV_19 & _LVP_OFF
und hier sind die relevanten Zeilen, in denen ich konfiguriere TMR1
banksel T1CON
movlw b'01000001' ; source = Fosc, prescale 1:1, LP osc - no, Timer on
movwf T1CON
banksel T1GCON
movlw b'11000001' ; gate enabled, active high, toggle no, pulse mode no, source TMR0
movwf T1GCON