-
Warten...
Hallo,
bin blutiger Anfänger in Bascom/Basic/AVR und wollte dieses Programm ausführen:
Code:
$regfile = "m32def.dat"
$crystal = 1000000
Ddrc = &B00000010
Schleife:
Portc = &B0000010
Wait 1
Portc = &B0000000
Goto Schleife
Ich dachte die LED würde so blinken, im 1 Sekunden Takt, aber leider bleibt sie einfach nur an! Woran hängts?
Danke im voraus
Johannes
-
Schleife:
Portc = &B0000010
Wait 1
Portc = &B0000000
Wait 1
Goto Schleife
Oder,
Do 'beginn einer Schleife
Portc = &B0000010 'LED einschalten
Wait 1 'eine Sekunde wartem
Portc = &B0000000 'LED aus
Wait 1 'eine Sekunde warten (das fehlte)
Loop 'Schleife beginnt von vorne
Die LED blinkt jetzt auch schon. Allerdings ist so nur sehr kurz aus und es ist für's Auge nicht zu erkennen.
PS: Waitms 1000 erzeugt einen kleineren Code als Wait 1.
-
oh...jetzt wo ich drüber nachdenke....hast du recht :) danke schön
-
Hallo Johannes,
schön, dass Du jetzt programmieren kannst!
In Ergänzung zum Gesagten, Du brauchst nicht jedesmal das gesamte Byte für einen Port zu verändern, es ist auch ein bit-weiser Zugriff möglich, in Deinem Fall: Portc.1 =1 bzw. Portc.1 =0
Möchtest Du den Status eines Port-Bits abfragen, musst Du allerdings "Pin" verwenden, also z. B.
If Pinc.1=1 then
.... tuwas....
end if
Frag mich nicht, warum - ist halt so eine kleine Schrulle von Bascom...
Viele Grüße
Torsten