Ich versuche damit Überläufe TMR1zu zählen TMR0. Zu diesem Zweck verwende ich TMR1mit aktiviertem Gate und mit TMR0Überlauf als Gate-Quelle.
Mit MPLAB SIM kann ich sehen, dass TMR0gezählt wird und überläuft. Das TMROIFBit in INTCONwird 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 T1GVALBit von T1GCONwird nie gesetzt.
Ich TMR1laufe bei Fosc und ich habe das Gate nicht im Umschaltmodus oder Einzelimpulsmodus ...
TMR0lä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