Wo Taster angeschlossen? INT0 / 1
Timer, einfach Port oder wie ?
Ohne genauere Angaben kann man Dir nicht gut helfen.
Hallo!
Ich möchte mittels Tastendruck eine Zahl um 1 erhöhen. Mein Problem: solange ich die Taste gedrückt halte wird aufwärts gezählt. Es sollte aber pro Tastendruck nur um 1 erhöht werden.
Wascheinlich ein Simples Problem aber für einen Anfänger
Danke im voraus.
Wo Taster angeschlossen? INT0 / 1
Timer, einfach Port oder wie ?
Ohne genauere Angaben kann man Dir nicht gut helfen.
Vor den Erfolg haben die Götter den Schweiß gesetzt
Mein Taster ist bei INT0 angeschlossen. (Ist ein fertiges Programmierboard).
Und das ist mein Quelltext:
Dim A As Byte
Anfang:
A = 0
Do
If Pind.3 = 0 Then A = A + 1
Cls
Lcd " " ; A
Waitms 250
Loop
aha ... schau mal unter config int0 in die Hilfe:
Syntax
CONFIG INTx = state
Where X can be 0,1 and 4 to 7 in the MEGA chips.
Remarks:
state
LOW LEVEL to generate an interrupt while the pin is held low. Holding the pin low will generate an interrupt over and over again.
FALLING to generate an interrupt on the falling edge.
RISING to generate an interrupt on the rising edge.
CHANGE to generate an interrupt on the change of the edge.
ergo :
config int0=falling
der Int wird ausgelöst wenn int0 fällt und nur dann
Vor den Erfolg haben die Götter den Schweiß gesetzt
Hallo
er benutzt den Interrupt ja nicht probieres einfach so
A = 0
Do
If Pind.3 = 0 Then
Bitwait Pind.3, Set ' die zeile musst du einfügen
A = A + 1
Cls
Lcd " " ; A
Loop
Das Programm wartet solange bis Pind.3 wieder High ist.
Lesezeichen