Hallo Leute, Ich habe eine (Blink-)Schleife aufgebaut, mit der ich eine LED zum blinken bringe und gleichzeitig ein Signal erzeuge. Das Puls/ Pausenverhältnis ändere ich mit 4 Tasten hoch und runter. Das erste Problem ist: Die Schleife soll ca. 60 sekunden laufen. Wenn ich aber die Frequenz erhöhe, zählt I auch schneller hoch und die IF Schleife ist beendet. Gibt es eine Funktion, mit der ich eine Folge von Befehlen in einer definierbaren Zeit ( 60s) ausführen kann? Das 2. Problem ist die Tastenabfrage: Wenn ich die Taste zur erhöhung der Frequenz drücke, zählt er bei hohen Frequenzen zu schnell und auch durch sehr kurzes drücken der Tasten kann man nicht einen genauen Wert einstellen. Frage: Ist es möglich, die Tastaturabfrage parallel zur Blinkschleife laufen zu lassen, ohne die Frequenz der Blinkschleife stark zu beeinflussen? Ich arbeite mit Bascom und das ist die Schleife. Hoffentlich bekommt niemand einen Lachanfall bezüglich meine Programmierkünste. For I = 1 To 1000 Key = Pina And &B11111000 ' Tastenabfrage If Key = 16 Then P = P + 2 ' Pause größer heißt Frequenz runter If Key = 32 Then P = P - 2 ' Pause kleiner heißt Frequenz hoch If Key = 64 Then T = T - 1 ' Impulsbreite kleiner If Key = 128 Then T = T + 1 ' Impulsbreite größer Locate 2 , 1 Lcd "I " ; T ; " F " ; P ; " " Portb = &B00001000 ' LED an Waitms T Portb = &B00000000 ' LED aus Waitms P Next End If
Hi, 1. Schau dir mal die Timer an. In der Timer0_ISR. Erhoehst du eine Variable um deine gewuenschte Zeit zuerhalten. 2. Die Tastenentprellung ist bei bascom sehr einfach. Schau mal in der Hilfe unter debounce. Die routine ist leider nicht timer gesteuert sondern reagiert auf flankenwechselerkennung. Um die Taste jetzt in kurz / lang gedrueckt aufzuteilen faellt somit flach.
Danke Dirk! Mit Timer bin ich weiter gekommen. VG Volker
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.