N'Abend,
ich steh gerade völlig auf dem Schlauch - da will ich nach langer Zeit mal schnell was programmieren...
Ich möchte eigentlich nur alle ca. 2,5 Sekunden eine Sub aufrufen, leider wird sie bei jedem Durchlauf aufgerufen und ich sehe den Fehler nicht:
Alles anzeigen
18432000 / 1024 / 256
ich steh gerade völlig auf dem Schlauch - da will ich nach langer Zeit mal schnell was programmieren...
Ich möchte eigentlich nur alle ca. 2,5 Sekunden eine Sub aufrufen, leider wird sie bei jedem Durchlauf aufgerufen und ich sehe den Fehler nicht:
Quellcode
- $regfile = "m644pdef.dat"
- $framesize = 42
- $swstack = 32
- $hwstack = 32
- $crystal = 18432000
- Dim Tick500ms As Byte
- Dim Time_count As Byte
- Dim Sekunde As Byte
- Dim Fehler As Byte
- Dim Lesefehler As Byte
- Dim Poti As Byte
- Dim Abstand As Byte
- Dim Success As Bit
- Config Timer0 = Timer , Prescale = 1024
- On Timer0 Time_isr
- Enable Timer0
- Start Timer0
- Enable Interrupts
- '*****************************************************************************************************************************************************************************************
- Main:
- Success = 1
- Do
- 'Gosub Analog
- 'Gosub Smartmeter_read
- If Success = 1 Then
- 'Gosub Lcd_display
- If Tick500ms > 4 Then 'nur alle 2,5 Sekunden ausführen
- Gosub Set_inverter_output
- Tick500ms = 0
- End If
- End If
- Loop
- End
- '*****************************************************************************************************************************************************************************************
- Set_inverter_output:
- INCR Poti
- Locate 1, 1
- Lcd Poti
- Return
- '*****************************************************************************************************************************************************************************************
- Time_isr:
- Incr Time_count
- If Time_count > 35 Then Incr Tick500ms
- If Time_count >= 70 Then
- Incr Sekunde
- Time_count = 0
- End If
- Return
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Tido ()