AVR i C
AVR i C
bry. desperacko potrzebuje materialow, kursow itp. dotycacych programowania AVR w C. jakies tajne adresy i takie tam. przekopalem sie chyba przez cale google i w sumie strasznie tego niewiele. jak macie jakies materialy to proszę o kontakt
thx za kazda pomoc. hyh.
Jak zainstalujesz sobie kompilator C, który można sciągnąć z netu (gdzie i jak jest napisane w pierwszym numerze kursu, o którym wspomina Ivanek), to tam znajdziesz pdf'a o nazwie avr-libc-user-manual-1.2.3.pdf, który zawiera wiele cennych informacji. Książkę J.Dolińskiego rzeczywiście trudno nazwać kursem programowania.
thx tasza. juz tam zagladalem. mam jeszcze jeden problem oprocz braku materialow odnosnie C. jest sobie taki program:
.org 0x0000
rjmp main
main:
ldi r16, 0xff;
out DDRB, r16; <-error w tej linii
loop:
rjmp loop
jak chce to skompilowac to wywala mi blad Undefined symbol DDRB;
moze wiecie o co chodzi, chyba we wszystkich proponowanych programach sie znajduje taka instrukcja wiec nie rozumiem dlaczego sie to nie chce skompilowac. walczylem z tym w AVRStudio 4 i 3.5. w 3.5 blad byl tyz w tej linii tylko tresc sie troche roznila. cos jak undefined references czy jakos tak i nic wiecej. kazda pomoc sie przyda.
.org 0x0000
rjmp main
main:
ldi r16, 0xff;
out DDRB, r16; <-error w tej linii
loop:
rjmp loop
jak chce to skompilowac to wywala mi blad Undefined symbol DDRB;
moze wiecie o co chodzi, chyba we wszystkich proponowanych programach sie znajduje taka instrukcja wiec nie rozumiem dlaczego sie to nie chce skompilowac. walczylem z tym w AVRStudio 4 i 3.5. w 3.5 blad byl tyz w tej linii tylko tresc sie troche roznila. cos jak undefined references czy jakos tak i nic wiecej. kazda pomoc sie przyda.
Mam rozumieć, że piszesz program w assemblerze?dromader pisze:thx tasza. juz tam zagladalem. mam jeszcze jeden problem oprocz braku materialow odnosnie C. jest sobie taki program:
.org 0x0000
rjmp main
main:
ldi r16, 0xff;
out DDRB, r16; <-error w tej linii
loop:
rjmp loop
jak chce to skompilowac to wywala mi blad Undefined symbol DDRB;
moze wiecie o co chodzi, chyba we wszystkich proponowanych programach sie znajduje taka instrukcja wiec nie rozumiem dlaczego sie to nie chce skompilowac. walczylem z tym w AVRStudio 4 i 3.5. w 3.5 blad byl tyz w tej linii tylko tresc sie troche roznila. cos jak undefined references czy jakos tak i nic wiecej. kazda pomoc sie przyda.
Otóż:
sam kompilator asma nie zna takich elementów jak DDRB. Symbol DDRB nie jest słowem kluczowym. Aby kompilator wiedział co znaczy, na początku programu musisz dołączyć odpowiedni plik definiujący. Każdy z modeli mikrokontrolerów ma swój indywidulany zestaw symoli związanych z architekturą i zasobami mikrokontrolera. Zakładając, że przykładowo używasz AT902313, to taki plik nazywa się 2313def.inc.
Polecam również odwiedzenie strony http://www.elektronika.priv.pl/ w dziale "mikrokontrolery".