Korken -> [skrytvarning] Tja, jag hade högsta betyg på mitt projektarbete när vi läste mikroprocessorteknik i skolan.[/skrytvarning] Vi gjorde ett litet minnesspel som läraren inte kunde sluta spela. Men det var onekligen ett tag sedan och dessutom på en Z80 Det som är nytt för mig är AVR och framförallt att programmera i C.
Ett utlåtande om boken kommer senare. Har inte kommit längre än till tredje kapitlet och tycker det är lite för tidigt att uttala sig.
Som det verkar så är i alla fall alla exempel i boken helt inriktade på Butterflyn.
Kul att du har haft det i skolan!
Själv så är jag helt självlärd. Jag går fel linje för stunden men ska börja läsa µC teknik till hösten.
Tror inte de kommer vara några problem, men man vet aldrig.
De roligast är att jag gjorde om Programmering C kursen till en liten egen AVR kurs och då kom µC läraren in och undrade vad jag körde.
Så jag berättade att ja körde AVR med en ISP och så. Och han vart nog lite fast i AVR för han tog och lånade min gammla ISP och några AVR kretsar och nu (ca 4 månader senare) ska skolan byta från PIC till AVR.
> "make.exe" all
-------- begin --------
avr-gcc (GCC) 3.4.6
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Compiling: PC_Comm.c
avr-gcc -c -mmcu=atmega169 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=PC_Comm.lst -std=gnu99 -Wp,-M,-MP,-MT,PC_Comm.o,-MF,.dep/PC_Comm.o.d PC_Comm.c -o PC_Comm.o
PC_Comm.c: In function `isCharAvailable':
PC_Comm.c:46: error: `UCSR0A' undeclared (first use in this function)
PC_Comm.c:46: error: (Each undeclared identifier is reported only once
PC_Comm.c:46: error: for each function it appears in.)
PC_Comm.c: In function `receiveChar':
PC_Comm.c:53: error: `UDR0' undeclared (first use in this function)
PC_Comm.c: In function `sendChar':
PC_Comm.c:61: error: `UDR0' undeclared (first use in this function)
PC_Comm.c:67: error: `UCSR0A' undeclared (first use in this function)
PC_Comm.c: In function `USARTinit':
PC_Comm.c:98: error: `UBRR0H' undeclared (first use in this function)
PC_Comm.c:99: error: `UBRR0L' undeclared (first use in this function)
PC_Comm.c:102: error: `UCSR0A' undeclared (first use in this function)
PC_Comm.c:102: error: `U2X0' undeclared (first use in this function)
PC_Comm.c:105: error: `UCSR0B' undeclared (first use in this function)
PC_Comm.c:105: error: `RXEN0' undeclared (first use in this function)
PC_Comm.c:105: error: `TXEN0' undeclared (first use in this function)
PC_Comm.c:105: error: `RXCIE0' undeclared (first use in this function)
PC_Comm.c:105: error: `UDRIE0' undeclared (first use in this function)
PC_Comm.c:108: error: `UCSR0C' undeclared (first use in this function)
PC_Comm.c:108: error: `UMSEL0' undeclared (first use in this function)
PC_Comm.c:108: error: `UPM00' undeclared (first use in this function)
PC_Comm.c:108: error: `USBS0' undeclared (first use in this function)
PC_Comm.c:108: error: `UCSZ00' undeclared (first use in this function)
PC_Comm.c:108: error: `UCPOL0' undeclared (first use in this function)
make.exe: *** [PC_Comm.o] Error 1
> Process Exit Code: 2
> Time Taken: 00:00
Du använder antagligen en nyare version av WinAVR. I de nyare versionerna har de ändrat namnen på de flesta registrena. Leta reda på config filen för din processortyp i include katalogen i winavr. Tror den heter iom169.h i ditt fall. Där ser du definitionerna för samtliga register i mega169. Uppdatera sedan din kod med de korrekta registernamnen.
*Doooh* Naturligtvis har jag en för ny version av WinAVR
Installerade den ap-gammla som var med boken och då funkar det.
Ett minus för detta paket hittade jag nu. Databladet för ATmega169 som ligger med på CD-skivan är för nytt för att stämme med den version av WinAVR som är med.. Eller är det kanske tvärtom man skall säga?