Ich sehe das nur Zwei Resetbefehle für b.0 und b.3
Wie hast du denn die LEDs an den Controller gehangen ?
Hallo.
Nachdem ich meine ersten Versuche mit dem ATmega8 einigermaßen erfolgreich abgeschlossen habe und z.B. auch das NOKIA LPH7779 angesteuert habe, möchte ich nun den 128er auf dem STK500/501 programmieren.
Bis jetzt wehrt sich dieser jedoch noch mit Händen und Füßen dagegen.
Ich hab´s zwar geschafft mit folgendem Programm eine LED auf Tastendruck zum Leuchten zu bekommen...
'-----------------------------------------
$regfile = "m128def.dat"
$crystal = 1000000
Config Portb = Output
Config Portd = Input
Do
If Pind.0 = 0 Then 'Wenn Taste an PortD.0 gedrückt ist...
Reset Portb.0 '...LED an PortB.0 einschalten
Else '...ansonsten
Set Portb.0 '...LED an PortB.0 ausschalten
End If
Loop
End
'-----------------------------------------
...aber folgendes Programm, mit dem ich eine LED einschalte, eine Sekunde warte und dann noch ´ne zweite LED einschalten will schaltet beide LEDs gleichzeitig ein.![]()
'-----------------------------------------
$regfile = "m128def.dat"
$crystal = 1000000
Config Portb = Output
Do
Reset Portb.0
Wait 1
Reset Portb.3
Loop
End
'-----------------------------------------
Woran kann das liegen daß der Wait-Befehl anscheinend übersprungen wird ???
Wenn ich z.B. eine LED einschalte kann ich sie mit einem nachfolgenden Set ... auch nicht mehr ausschalten.
Seltsam, seltsam...![]()
Ich hoffe, daß mir von Euch jemand helfen kann. Ich verzweifel sonst noch.
Danke schon mal.
Gruß Ralf
Ich sehe das nur Zwei Resetbefehle für b.0 und b.3
Wie hast du denn die LEDs an den Controller gehangen ?
Gruß
Ratber
Probier doch mal folgendes
GrußCode:$regfile = "m128def.dat" $crystal = 1000000 Do Reset Portb.0 Wait 1 Set Portb.0 Wait 1 Loop End
m.artmann
Hallo Ratber.
Die LEDs sind auf dem STK500 ja standardmässig drauf. Sie sind an PortB.0 und PortB.3 angeschlossen. Mit Reset Portb.x schalte ich die LED an, mit Set Portb.x entsprechend aus.
Hallo m.artmann.
Wenn ich
...
Do
Reset Portb.0
Wait 1
Set Portb.0
...
mache leuchtet die LED und bleibt an.
Drehe ich das ganze um, also
...
Do
Set Portb.0
Wait 1
Reset Portb.0
...
bleibt die LED dunkel.
Es wirkt so, als ob die Programmausführung am Wait hängen bleibt.
Habe Ihr ´ne Idee ??? Ich versteh das ganze nicht.![]()
Gruß Ralf
Dann hast Du mit Sicherheit das zweite "Wait 1" vergessen.
Der zweite Befehl wird dann zwar ausgeführt, aber viel schneller als dass Du es sehen könntest
Du mußt Dir die Reihenfolge vorstellen:
1. LED ein (Reset Portb.0)
2. eine Sekunde warten (Wait 1)
3. LED aus (Set Portb.0)
4 eine Sekunde warten (Wait 1)
5 wieder von vorne abfangen (Do...Loop)
Gruß
m.artmann
@Ralf
Zu "Ein/Aus"
Je nachdem ob man die LED nach Vcc oder Gnd schaltet leuchtet sich auch bei Set oder Reset.
Ds sollte man berücksichtigen sonst kommt man schnell in schleudern.
zb. wie hier bei nem fehlenden Wait.
Deswegen die Frage nach der Beschaltung.
Gruß
Ratber
Hi,
hab das mal so getestet:
Die LED geht an und sonst passiert da nichts!Code:$regfile = "m128def.dat" $crystal = 1000000 Ddrb = &B00000001 Ddrd = &B00000000 Do Reset Portb.0 Wait 1 Set Portb.0 Wait 1 Loop End
Hab das dann mal mit einem Taster getestet:
Die LED geht nach einem Tastendruck an und bleibt die 2sec an und geht dann wieder aus.Code:$regfile = "m128def.dat" $crystal = 1000000 Ddrb = &B00000001 Ddrd = &B00000000 Do If Pind.0 = 0 Then Portb.0 = 0 Waitms 2000 Else Portb.0 = 1 End If Loop End
Warum sich das obere anderst verhält was die wartezeit betrifft weiß ich
jedenfalls nicht.
Hab auch getestet ob das wegen dem Wait bzw. Waitms ist, das verhält sich aber gleich.
Würde mich auch interresieren warum das so ist.
Gruß Wasi...
Keine Ahnung warum das erste nicht klappt.
Vieleicht irgendein Steurcode im Code.
Da hilft manchmal die Zeile komplett neu zu schreiben.
Apropos M128
Der läuft nicht zufällig noch als M103 ? (M103 Fuse)
Gruß
Ratber
Oh oh oh...Apropos M128
Der läuft nicht zufällig noch als M103 ? (M103 Fuse)
Jo, das is es, bei mir hab ich den M103 Fuse mal raus gemacht, und siehe er Blinkt!
@Ralf, schau auch mal nach!
![]()
Gruß Wasi...
Yo,das hat Atmel etwas unglücklich gelöst
Gruß
Ratber
Lesezeichen