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





Zitieren

Lesezeichen