Hi Stevensen,

so kurze Beispielprogramme am besten direkt in den Beitrag posten und mit CODE markieren. Dadurch kann man schneller reinschaun und helfen.
Bist du wirklich sicher das die Werte ohne PRINT zu hoch sind? Könnte es nicht vielmehr sein das die Werte mit dem Print zu klein sind? Der Print Befehl über RS232 ist ja relativ langsam, dadurch könnten Impulse verloren gehen.
Überprüf das doch nochmal genau und poste auch mal die Ergebnisse/Zahlen!

Gruß Frank


Code:
$regfile = "2313def.dat"
$crystal = 4000000
$baud = 9600
Const Reload = 4000

Dim Zaehler As Word
Dim Halbe As Byte
Dim Umdrehungen As Word
Config Portd = Output
Config Timer1 = Timer, Prescale = 1024


Config Int0 = Falling        'Low Level oder Falling

 Portd 0.2 = 1
 Portd 0.6 = 1

On Timer1 Timer1_isr
On Int0 Onrts

Umdrehungen = 0
Zaehler = 0
                                       
Enable Int0

Enable Timer1

Enable Interrupts

Print "los gehts"
Do

Print Umdrehungen

Loop

End


Timer1_isr:
Load Timer1, Reload

Portd.5 = Not Portd.5   ' Led togglet

If Portd.5 = 1 Then
            Umdrehungen = Zaehler

            'Print Umdrehungen
             Zaehler = 0

             End If
Return

Onrts:
    Incr Halbe

    If Halbe = 4 Then
                  Halbe = 0
                  Portd.6 = Not Portd.6
                  Incr Zaehler
                  Print Zaehler ' !!!!! Wenn diese Print Ausgabe vorhanden ist scheint es zu gehen, wenn sie fehlt kommen zu große Zahlen.

            End If
                                                 'Int0-Routine
  Return