PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
MaggoT
Inlägg: 113 Blev medlem: 28 juli 2005, 16:48:27
Ort: Finland
Kontakt:
Inlägg
av MaggoT » 27 september 2005, 12:45:10
Hejsan, tänkte jag skulle ta och lära mig lite assembler, har läst lite på avrbeginners.net men exempelkoden jag hittade där verkar inte fungera
Kod: Markera allt
.org 0x0000
rjmp main
main:
ldi r16, 0xFF
out DDRB, r16
loop:
sbi PortB, 3
cbi PortB, 3
rjmp loop
Får följande felmeddelande
Kod: Markera allt
Building project...
AVRASM: AVR macro assembler 2.0.28 (build 121 Jan 11 2005 10:28:51)
Copyright (C) 1995-2005 ATMEL Corporation
D:\Avrprojekt-asm\ledblink.asm(6): error: Undefined symbol: DDRB
D:\Avrprojekt-asm\ledblink.asm(8): error: Undefined symbol: PortB
D:\Avrprojekt-asm\ledblink.asm(9): error: Undefined symbol: PortB
Assembly failed, 3 errors, 0 warnings
Hur löser jag detta? Använder AVRStudio.
frejo
Inlägg: 496 Blev medlem: 21 april 2004, 21:43:01
Ort: Linköping
Inlägg
av frejo » 27 september 2005, 12:49:30
DDRB är ju något som ska peka på datariktningsregistret för port B. Det brukar vanligtvis vara deklarerat i en include-fil, så jag misstänker att du saknar include-filen för den typ av AVR du använder.
Det kan också vara så att AVRStudio behöver veta vilken AVR du använder för att känna igen symbolen DDRB
Nu ska du nog inte lita blint på det jag säger då jag bara jobbat i C mot avr:n
MaggoT
Inlägg: 113 Blev medlem: 28 juli 2005, 16:48:27
Ort: Finland
Kontakt:
Inlägg
av MaggoT » 27 september 2005, 13:08:08
Okej, det låter rimligt
Hittade endast en fil som skulle kunna vara den rätta, kopierade den och försökte inkludera såhär:
Kod: Markera allt
.include "C:\tiny26.xml"
.org 0x0000
rjmp main
main:
ldi r16, 0xFF
out DDRA, r16
loop:
sbi PortA, 3
cbi PortA, 3
rjmp loop
Men får:
Kod: Markera allt
Building project...
AVRASM: AVR macro assembler 2.0.28 (build 121 Jan 11 2005 10:28:51)
Copyright (C) 1995-2005 ATMEL Corporation
D:\Avrprojekt-asm\ledblink.asm(1): error: Cannot find include file: C:\tiny26.xml
Assembly failed, 1 errors, 0 warnings
Sökvägen är bombsäkert rätt
kanske filen måste ligga på något speciellt ställe för att det skall gå att inkludera? (Är det helst rätt fil? Den låg i C:\Program Files\AVR Tools\Partdescriptionfiles\, gick inte att inkludera därifrån heller)
cykze
EF Sponsor
Inlägg: 1539 Blev medlem: 8 april 2004, 10:40:28
Ort: Uppsala
Inlägg
av cykze » 27 september 2005, 15:27:04
Prova:
.include "C:\\tiny26.xml"
.include "C:/tiny26.xml"
Sen kommer du inte hinna marka att pinne 4 pa PortA andras savida du inte kopplar pinnen till t ex ett oscilloskop. Men det kanske du ar medveten om.
MaggoT
Inlägg: 113 Blev medlem: 28 juli 2005, 16:48:27
Ort: Finland
Kontakt:
Inlägg
av MaggoT » 27 september 2005, 15:37:37
Jag hittade rätt fil nu,
C:\Program Files\AVR Tools\AvrAssembler2\Appnotes\tn26def.inc
fungerade utmärkt med
.include "tn26def.inc" utan sökväg.
cykze> Jo jag vet, jag följer guiden steg-för-steg
ville inte fortsätta förräns jag fick det steget att fungera så...
Anyway, tack för er hjälp.