smiley micros?

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
Nisse
Inlägg: 908
Blev medlem: 9 juli 2006, 23:25:46
Ort: Kumla

Inlägg av Nisse »

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 :lol: 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.

Mvh
Nisse
Användarvisningsbild
Korken
Inlägg: 2230
Blev medlem: 3 februari 2006, 19:19:36
Ort: Luleå, Porsön

Inlägg av Korken »

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. :D
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. :D

//Emil

(AVR 1 - PIC 0)
Användarvisningsbild
Nisse
Inlägg: 908
Blev medlem: 9 juli 2006, 23:25:46
Ort: Kumla

Inlägg av Nisse »

Och nu har jag stött på problem. Ett av exemplen i boken trilskas.
Använder Programmers Notepad tillsammans med WinAVR. Får följande felmedelanden:

Kod: Markera allt

> "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
Filerna i fråga är dessa:
http://gullefjun.mine.nu/junk/elektroni ... t/PC_Comm/

Kan någon ge mig en knuff i rätt riktning, eller ännu hellre tala om vad fasiken det är som är fel? Det här med C är tämligen nytt...

Mvh
Nisse
thepirateboy
EF Sponsor
Inlägg: 2108
Blev medlem: 27 augusti 2005, 20:57:58
Ort: Borlänge

Inlägg av thepirateboy »

Prova att lägga in #include <avr/io.h> överst i PC_comm filen.

Sorry, såg att den var med i PC_comm.h

Ta bort de avslutande nollorna på registren den klagar på, då ramlar kompileringen igenom iaf. Antagligen är filerna gjorda för en annan uC.
mke
Inlägg: 32
Blev medlem: 22 maj 2006, 20:00:39
Ort: Gbg

Inlägg av mke »

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.
Användarvisningsbild
Nisse
Inlägg: 908
Blev medlem: 9 juli 2006, 23:25:46
Ort: Kumla

Inlägg av Nisse »

*Doooh* Naturligtvis har jag en för ny version av WinAVR :oops:
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?

Tack för hjälpen!

mvh
Nisse
Skriv svar