Hallo,
die beigefügte Datei funktioniert nach dem ver*hex*en, und via PonProg
nicht auf meinem AT90S2313.
Die LED am Port PB0 leuchtet immmer, sobald ich das ISP von der
parallelen Schnittstelle entferne. Ich bin der Meinung, dass sich
eigentlich nichts tut, egal ob ich diese Blinker Datei lade oder die
Datei von der Seite:
http://s-huehn.de/elektronik/avr-prog/avr-prog.htm
Mein Testlayout ist ebenfalls von der Seite, allerdings mit
stabilsiertem Netzteil.
Was ist an meinem Code falsch?
Warum blinkt die LED (im Sinne vom Blinken) nicht, wenn ich ebenfalls
die originale Datei von der obigen Seite verwende?
Vielen Dank für ein paar Tips.
MFG
Onur
Ist doch klar wieso: du gibst ständig 0xFF aus.
Du musst wechseln einmal 0xFF (EIN), dann 0x00 (AUS);
Ausserdem ist das falsch:
ldi mp,0x00
out DDRB,mp
Damit setzt Du den Port als Ausgang.
Sieh Dir mal das Beispielprogramm von der Seite an.
Dort gibt es Verzögerungen (rcall wait).
Ich glaube nicht, selbst wenn Du wechselst, dass Dein Auge so schnell
ist.
versuch es mal damit:
ldi mp,0xff
out DDRB,mp
loop:
ldi mp,0xFF
out PORTB,mp
rcall wait
ldi mp,0x00
out PORTB,mp
rjmp loop
Grüße
Andreas
Sorry,
sollte heissen: "Damit setzt Du den Port als Eingang"
Ausserdem muss es so sein:
loop:
ldi mp,0xFF
out PORTB,mp
rcall wait
ldi mp,0x00
out PORTB,mp
rcall wait
rjmp loop
Ist schon spät.
Hallo,
wenn ich aber will, dass die LED ausgeht, z.B.:
DEF mp = R16
RJMP main
main:
ldi mp,0xFF
out DDRB,mp
loop:
ldi mp,0x00
out PORTB,mp
rjmp loop
Nachdem ich die parallele Schnittstelle entferne leuchtet die LED
wieder. Darf sie doch nicht. Sie leuchtet immmer noch, auch wenn ich
Vcc entferne, und wieder anschließe.
Bitte nicht falsch verstehen, ich will in die µC Programmierung
einsteigen, und verstehe mein Problem noch nicht.
Danke für die Antworten.
Onur
hi
Ich kenne dein Layout nicht, aber meisstens ist es so, dass die LED
über Vorwiderstand mit der Anode an VCC liegt und die Katode am Port.
Das heisst wenn du die Ausgänge auf L legst ,wie in deinem zweiten
Code, leuchten die Dioden. Wenn die Ausgänge auf H gelegt werden, sind
die Dioden aus.
Mfg HG
Hallo,
erst einmal Danke für die Antworten.
Mein Layout haben ich nach der Zeichung von der folgenden Seite
aufgebaut, für den AT90S2313:
http://s-huehn.de/elektronik/avr-prog/avr-prog.htm
Ich werde heute abend nocheinmal mein Programm analysieren und meinen
µC flashen. Ziel ist es, daß die LED ausgeht. Wenn das geht, ist alles
okay. Ärgerlich ist halt, dass ich mein ISP von der parallelen
Schnittstelle entfernen muss, damit das Flash Programm läuft.
Danke für die Tips.
Grüße
Onur
Hallo,
irgendwie traue ich der ganzen Sache nicht.
Mein Code lautet:
DEF mp = R16 ; Register R16 = mp
RJMP main ; Springe zu main
main:
ldi mp,0xFF ; lade 0xFF in das register R16
out DDRB,mp ; DDRB als Ausgang definieren
loop:
ldi mp,0x00 ; lade 0x00 in das register R16
out PORTB,mp ; gebe 0x00 am PortB aus (also auch beim PortB
0)
rjmp loop
Entferne ich jetzt die parallele Schnittstelle, leuchtet die LED immer
noch.
Wenn ich die parallele Schnittstelle dran habe, liegt am PortB0 = 3,8V.
An der Kathode, die ja an Vcc liegt = 5,2V. Am Widerstand liegen 0,3V.
Also liegen an der LED = 1,1V.
Auch wenn ich den Flash Speicher lösche, leuchtet die LED trotzdem.
Beigefügt ist mein Layout.
MFG
Onur