AVR Asembler

Gast #3319
Lesenswert?

Habe neben meiner "Hauptprogrammdatei.asm" noch eine 
"Nebenprogrammdatei.asm" anlegen müssen, da mir beim
wavrasm-Assembler die Zeilen ausgingen.
Immer wenn ich mitten im Programm dann auf Programmteile zurückgreife, 
die im Nebenprogramm stehen, dann schreibe ich:

z.B.:

Anfangsbedingung:
ldi  test,0
rcall rauf                        <------- Hier rufe ich meine 
Includedatei auf
ldi sek1,$30                               aber über "rauf:", damit ich 
über mehrere
ldi sek2,$30                                Stellen im Hauptprogramm 
darauf zu-
ldi min1,$30                                 greifen kann.
ldi min2,$30
ldi hr1,$30
ldi hr2,$30
...





rauf:
.include "rauf.asm"
ret







Die rauf.asm-Datei sieht so aus:



rcall  beep
sbi PORTB, 0
rcall Delay0ms7
cbi PORTB, 0
rcall Delay15ms
sbi PORTB, 0
rcall Delay0ms7
cbi PORTB, 0
rcall Delay15ms
sbi PORTB, 0
rcall Delay0ms7
cbi PORTB, 0
rcall Delay15ms
sbi PORTB, 0
rcall Delay0ms7
cbi PORTB, 0
rcall Delay15ms
sbi PORTB, 0
rcall Delay0ms7
cbi PORTB, 0
rcall Delay15ms


Assemblieren tu ich dann nur die Hautprogramm.asm.
Mehr is nich, hab ich durch x Versuche rausgefunden!
Gruß,
Andi
Gast #3320
Lesenswert?

Die include-Dateien (*def.inc oder *.asm oder ...) müssen im gleichen 
Verzeichnis stehen wie die Main.asm oder andere *.asm. Vielleicht liegt 
es daran.
Man muß auch aufpassen, wenn man an verschiedenen Projekten arbeitet, 
daß man immer wieder zurück auf den richtigen Pfad kommt, um 
abzuspeichern. Ich schau mir manchmal alte Dateien an, lade diese aus 
einem alten Verzeichnis, nehme etwas daraus in die neue Datei, dann aber 
muß ich wieder zurück auf den neuen Pfad, um zu speichern ... na ja ... 
jedenfalls ...alle Dateien in einem Verzeichnis

-- immer wieder die *.def.inc - Dateien kopieren .. ich hab sie x-mal in 
x-Ordnern.


Gruß Erwin
Gast #3323
Lesenswert?

Welchen Assemler verwendest du?
Assemblierst du in das selbe Unterverzeichnis hinein, indem die 
"4433def.inc" auch steht?
Bei mir beim wavrasm ists das Appnotes-Unterverzeichnis wo ich 
hineinassembliere, da stehen auch meine include-Dateien und ich muß den 
Pfad nicht vollständig angeben...
Andi
Gast #3324
Lesenswert?

Jetzt weiß ich, was Du meinst. Das Problem habe ich auch, da ich den 
4433 auch gerne nehme. Folgendes kannst Du tun. Schreib einfach in die 
Datei die 2333def.inc, ignoriere die Warnung, daß der Baustein voll ist 
(der Assembler gibt dies nicht als Fehler aus, tut also seine Arbeit) 
Beim Programmieren dann stellst Du den 4433 ein. Die Pinbelegung und all 
diese Sachen sind ja bei beiden Bausteinen gleich, nur eben der 
Speicherumfang nicht --- die Variante geht 100pro -- ich mach es 
jedenfalls so.

Gruß Erwin

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren