Hallo TB1!
Vielleicht kannst Du meine Modifikation anwenden. Ich habe es bisher nur beim PIC18F252 ausprobiert, sollte aber bei den 12FXXX und 16FXXX auch gehen.
Um den Prescaler auszulesen benutze ich zum "togglen" das Bit im Timer0 Configuration Register, das die Triggerungsflanke ändert:
bsf T0CON,T0SE
bcf T0CON,T0SE
Während des "togglen´s" muss der TOCKI Pin in TRISA Register als Ausgang definiert werden.
Somit habe ich den Pin, das für "togglen" benutzt war, für andere Zwecke frei.
Der Register TMR0 wird in A1 und der Prescalerwert in A0 gespeichert.
Inzwischen habe ich ein fertiges ASM Programm zum Messen der Frequenz in Wiki hochgeladen:
https://www.roboternetz.de/wissen/in...ler#Interrupts
MfGCode:GetFreq movf TMR0,0 movwf A1 movwf FTmp clrf ATmp FToggle incf ATmp,1 bsf _RP0 bsf T0CON,T0SE bcf T0CON,T0SE bcf _RP0 movf TMR0,0 subwf FTmp,0 btfsc _Z goto FToggle comf ATmp,1 incf ATmp,0 movwf A0 return







Zitieren

Lesezeichen