Hi,
ich habe eine Routine, mit der ich die Frequenz messen kann:

Sub Messen()
Config Int0 = Falling

Flankenzahl = 0
Messzeit = 50000000 '20000000
Timervorgabe = 53036 'für 50ms ' 25536 für 20ms ' 55536 für 5ms

Do
Enable Interrupts
Enable Int0
Enable Timer1
Portd.2 = 1

Config Timer1 = Timer , Prescale = 64 'für 50ms'8 für 20ms ' messzeit 5ms
Timer1 = Timervorgabe

On Timer1 Isr_von_timer1
On Int0 Irq

Waitms 500
Lcd_clr

Stemp = "imp=" + Str(flankenzahl)
Schreibe Stemp
Lcd_cursor 1 , 3
Stemp = "fre=" + Str(frequenz())
Schreibe Stemp

Flankenzahl = 0
Wait 2

Loop

Irq:
Incr Flankenzahl
Return


Isr_von_timer1:
'Timer1 = Timervorgabe
'Toggle Portc.0
Impulsepromesszeit = Flankenzahl
Disable Int0
Disable Interrupts
Return

ich messe mit einer Torzeit, die fallenden Flanken..

das Prog funktioniert gut bis auf:
-verzählt sich ganz klein wenig: bei 2000 Flanken verzählt sichs um ca 4
(das ist ganz wenig und scheint kein Grundlegender Fehler zu sein und ist scheinbar nicht Frequenzabhängig)-->das ergebnis weicht ca 50-150 Hz ab

- das Prog funzt nur bis ca 105khz, danach spinnt die anzeige rum (lcd ausgabe)

Hat da jemand vielleicht ne Idee,wie man das eine oder andere wegbekommt, würd mich sehr freuen..!
Grüße Roland