PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Schrittkette bauen?



TobiasBlome
27.03.2009, 21:04
Hallo,
ich möchte 4 Printbefehle senden und zwischen jedem Printbefehl 1 sekunde Pause und dann wieder von vorne.

Also vom Prinzip so:



Do

Print A
wait 1
print B
wait 1
print C
wait 1
Print D
wait 1

Loop


wie kann man soetwas sinnvoll programmmieren?
Ich habe überlegt, mit Timer1 eine Variable hochzählen - aber da fehlt noch so ein Gedankenanstoß...

Tobias

TobiasBlome
27.03.2009, 21:56
Eine Idee wäre so (gefällt mir aber nicht so richtig....)

timer zählt Variable Z hoch


DO

if Z = 1 AND Z1 = 1 then
Print A
End if

if Z = 2 AND Z2 = 1 then
Print B
End if

if Z = 3 AND Z3 = 1 then
Print B
Z1=0
Z2=0
Z3=0
Z=0
End if

LOOP

TobiasBlome
29.03.2009, 14:09
Hat den keiner einen Denkanstoß für mich....?

Netzman
29.03.2009, 16:15
Deine Idee ist ansich richtig, aber wozu sind Z1, Z2 und Z3 gut?

mfg

Jaecko
29.03.2009, 17:14
Angenommen T ist eine Variable, die über einen Timer auf 1 gesetzt wird (Timer-Interrupt) und Z ist ein Zähler, welcher Text gesendet werden soll, dann könnte es in etwa so aussehen:



Do

If T = 1 Then
Select Case Z
Case 1:
Print A
Case 2:
Print B
Case 3:
Print C
Case 4:
Print D
Z = 1
End Select
T = 0
EndIf

Loop

TobiasBlome
29.03.2009, 21:04
@Netzman
Wenn der Zähler 1 hat springt er 1 sekunde lang IMMERWIEDER zu Print A und das schafft der µC ganz schön oft ;-) Damit nur 1 mal gesendet wird benutze ich den HILFSMERKER zb Z1...


Das hat Jaecko SUPER GELÖST!!!!!! Danke!!!
Nur wenn der Hilfsmerker T auf 1 gesetzt wird, wird in die Case Anweisung gesprungen, der jeweilige Printbefehl ausgeführt und T auf 0 gesetzt!!! habs noch nicht probiert aber das sieht sehr gut aus

Danke Jaecko!!!!!!!!!