Hallo!
Ich habe ein kleines Anfängerproblem. Welche INCLUDE muss ich für den AT90USB162 verwenden um ein Assemblerprogramm schreiben zu können? Ich verwende AVRStudio 4.13 falls das relevant ist.
Ich will momentan nur ein paar Leds ein und ausschalten, was ja eigentlich nicht so schwer sein sollte.
Vor kurzem habe ich mir einen eStick gekauft, falls das jemand kennt (5-10 euro, bei so einem Preis musste ich zuschlagen ^^), da ist eben dieser Controller eingebaut.
Diesen Code habe ich getestet, was mcih wundert das absolut nichts am ausgang passiert, weder die DDR bits werden gesetzt, noch die Port bitsCode:.NOLIST ; List-Output unterdrücken .INCLUDE <m162def.inc> .LIST ; List-Output wieder aufdrehen ;Registeraufteilung .def temp = r16 .DSEG ; Schreibt Daten in den SRAM .CSEG ; was nun folgt, gehört in den FLASH-Speicher .org 0x0000 rjmp Initialisierung Initialisierung: ;Stackpointer ldi temp, LOW(RAMEND) out SPL, temp ldi temp, HIGH(RAMEND) out SPH, temp ;Aus/Eingänge ldi temp, 0b11111111 out DDRB, temp ; Ausgang out DDRC, temp Hauptprogramm: sbi PortC, 2 sbi PortB, 0 cbi PortB, 1 sbi PortB, 2 cbi PortB, 3 sbi PortB, 4 cbi PortB, 5 sbi PortB, 6 cbi PortB, 7 Ende: rjmp Ende(HILFE)
Bitte helft mir, kann ja nicht so schwer sein 4 Leds einzuschalten
mfg
Gerko
EDIT:
Ok, ich hab jetzt die richtige Include datei gefunden (USB162def.inc klingt irgendwie logisch, ist allerdings im AVR 2 oderner gelagert, warum auch immer)
das Programm funktioniert auf dem e-Stick allerdings immer noch nicht:
Das ist mein code, in der Simulation funktioniert es, allerdings nicht auf dem e-StickCode:.NOLIST ; List-Output unterdrücken .INCLUDE <usb162def.inc> .LIST ; List-Output wieder aufdrehen ;Registeraufteilung .def temp = r16 ;.DSEG ; Schreibt Daten in den SRAM .CSEG ; was nun folgt, gehört in den FLASH-Speicher .org 0x0000 rjmp Initialisierung Initialisierung: ;Stackpointer ldi temp, LOW(RAMEND) out SPL, temp ldi temp, HIGH(RAMEND) out SPH, temp ;Aus/Eingänge ldi temp, 0b11111111 out DDRB, temp ; Ausgang sbi DDRC, 2 sei Hauptprogramm: sbi PortC, 2 sbi PortB, 0 cbi PortB, 1 sbi PortB, 2 cbi PortB, 3 sbi PortB, 4 cbi PortB, 5 sbi PortB, 6 cbi PortB, 7 Ende: rjmp Ende
Das ist der Schaltplan dazu:
http://embsys.technikum-wien.at/staf..._schematic.pdf
ich weiß nicht ganz warum es nicht funktioniert, wenn ich PortC2 setze, müssten die Leds aktiviert sein (so versteh ich das zumindest)
hat jemand eine Idee was ich noch anders machen muss?
mfg
Gerko







Zitieren

Lesezeichen