Hallo Gandalfx86
Moglicherweise ist auch dein AVRISP MKII defekt.
Siehe hierzu den Artikel aus nachfolgendem Link direkt auf der ersten Seite unter Motivation.
http://www.ullihome.de/index.php/USBAVR-ISP/de
Gruß Gucky. :?
Druckbare Version
Hallo Gandalfx86
Moglicherweise ist auch dein AVRISP MKII defekt.
Siehe hierzu den Artikel aus nachfolgendem Link direkt auf der ersten Seite unter Motivation.
http://www.ullihome.de/index.php/USBAVR-ISP/de
Gruß Gucky. :?
Hallo Gandalfx86,
das ausgelesene Hex-File stimmt genau mit dem von AVRStudio erzeugten Hex-File überein. Also ist der ISP wohl i.O. Der Fehler liegt vieleicht doch in deinem Programm. Bin aber kein Assembler Experte.
Schau dir mal die AVR Assembler Einführung im RN-Wissen an.
https://www.roboternetz.de/wissen/in...inf%C3%BChrung
Vieleicht geht es nicht ohne Reset Funktion und Platzhalter für die Interrupt Vektoren.
Ich sehe in deinem Programm nicht, das du den Stackpointer initialisierst.
So ich habe gerade mal die Schaltung auf einer Lochrasterplatine aufgelötet (genauso wie auf dem Steckboard), und dann folgenden Code in den Flash geschrieben
und was soll ich sagen: an PortC 4,8V und PortA und B auf 0V.Code:.NOLIST
.INCLUDE <m32def.inc>
.LIST
.CSEG
RESET:
jmp INIT
.ORG INT_VECTORS_SIZE
INIT:
ldi r24,high(RAMEND)
out SPH,r24
ldi r24,low(RAMEND)
out SPL,r24
MAIN:
LDI R16,0b11111111
OUT DDRA,R16
OUT DDRB,R16
OUT DDRC,R16
LOOP:
LDI R16,0x00
OUT PORTA,R16
OUT PORTB,R16
LDI R16,0xFF
OUT PORTC,R16
RJMP LOOP
RJMP MAIN
Ende:
rjmp Ende
Ich kann es kaum glauben, es läuft.
Wo das Problem lag kann ich nicht so genau sagen, aber ich vermute, dass mein Steckboard-Aufbau nicht sauber war.
Ich bedanke mich für alle Bemühungen hier im Forum mir beim ARV-Start zu helfen.
Wenn ich alle Klausuren in der Uni geschrieben habe werde ich mich dann mal etwas intensiver mit AVR-Assembler beschäftigen und vielleicht kann ich ja auch bald mein erstes Roboter-Projekt starten.