Hallo zusammen,

ich programmiere mit der Bascom Demo auf einem ATMEGA8.
In der Init Routine möchte ich einen Taster abfragen und je nach Ergebnis einen Initialwert verändern. Veränderung des Wertes wenn TAste 5 s gedrückt.
Der Pin am Prozessor ist mittels einen 33k Widerstands auf +5V gelegt. Durch Drücken der Taste wird der Pin auf 0-Potential gezogen.
Obwohl keine Taste gedrückt wurde verzweigt der nachfolgende Debounce Befehl auf die Routine welche eim Drücken der Taste ablaufen soll.
Nach meiner Ansicht müsste der Pin auf High liegen und deshalb der befel der auf den Debounce Befehl folgt ausgeführt werden.

Wo ist der Fehler ?

Hier ein Code Ausschnitt:
' Definition der Taste

Config Portd.7 = Input
Taste_1 Alias Portd.7
.
Init()
Config Debounce = 5000 ' 5s gedrückt wechselt Grunddrehrichtung

Debounce Taste_1 , 0 , Change_hard_direction , Sub

Config Debounce = 25
.
.
Change_hard_direction:
Direction = Hard_direction
Print "In Hard"
If Direction = 1 Then
Direction = 0

Else : If Direction = 0 Then Direction = 1

End If

return

Ich kann mir das Verhalten nicht erklären und bitte deshalb um Hilfe


beste Grüsse
Christian