lära sig programmera i avr-studio i C(nytt problem 20-01-08

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
petterp
Inlägg: 139
Blev medlem: 2 maj 2007, 21:30:39
Ort: Öland || Jönköping

lära sig programmera i avr-studio i C(nytt problem 20-01-08

Inlägg av petterp »

Hej

Jag undrar var man lättast kan få tag på information för att programmera atmels-kretsar i avr-studio. i program språket C.

Tänkte mest grunderna som trappar upp sig till lite mer avancerat.

jag har inga kunskaper i avr-studio enbart själva hur man skickar programmet till µp.


tack på förhand
//petter

(edit korrigerade texten lite ;) )
Senast redigerad av petterp 21 januari 2008, 17:10:26, redigerad totalt 5 gånger.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

Du borde kanske kolla igenom själv vad du skriver, jag får inte
ihop vad du menar med den tredje meningen.

Och när du ändå rättar till det så kan du fixa stor bokstav där det ska
vara det, det blir lite trevligare/lättare att läsa när det är korrekt skrivet. :-)

Men generellt så verkar svaret vara att du ska läsa dokumentationen.

EDIT:
Nu såg jag "lyssna inte på vad jag säger, lyssna på vad jag menar."
Men det hjälpte inte... :-)
Användarvisningsbild
oJsan
EF Sponsor
Inlägg: 1541
Blev medlem: 11 november 2005, 21:36:51
Ort: Umeå
Kontakt:

Inlägg av oJsan »

Programspråket C stödjs inte i, så vitt jag vet, i den "fria" versionen av avr studio. C-kompilatorerna brukar vara plugin (gäller i alla fall motsvarande program för PIC).
Beroende på tidigare erfarenhet så tycker jag att du har två alternativ:

1. Börja med assembler i AVR studio och lär dig grundligt hur en uC fungerar.

2. Skippa AVR studio och använd istället WinAVR, vilket är en fri (GNU) C-kompilator för AVR.

...AVR studio kan i båda fallen användas för att programmera själva kretsen, men det finns ju andra verktyg för det också.

Gällande dokumentation:
1. Manualer och exempel från Atmel.
2. Installationsanvisningarna och manualen för WinAVR.
thepirateboy
EF Sponsor
Inlägg: 2109
Blev medlem: 27 augusti 2005, 20:57:58
Ort: Borlänge

Inlägg av thepirateboy »

Jag tycker nästan tvärtom. Installera AVR-studio samt servicepack. Installera sedan WinAVR. Skapa ett nytt C-projekt i AVR-studio och börja koda.

Det är det enklaste sättet jag känner till för att komma igång med AVR. AVR-studio är inge bra editor men duger till att börja med innan man har koll på makefiler.

Det är dock nyttigt som sagt. att börja med assembler.

Manual för AVR Libc och exempel hittar du tex här http://www.nongnu.org/avr-libc/user-man ... demos.html.
Användarvisningsbild
petterp
Inlägg: 139
Blev medlem: 2 maj 2007, 21:30:39
Ort: Öland || Jönköping

Inlägg av petterp »

Vad är det för fördelar med att kunna assembler?

Tänkte mest börja med C för att jag anser, att jag har mer nytta av det än att sitta i Bascom ;) känns onödigt att lära sig först det sedan inte har någon nytta av basic språket.

Så jag kan inte direkt skriva i C i avr-studio utan att installera massa andra saker med?
thepirateboy
EF Sponsor
Inlägg: 2109
Blev medlem: 27 augusti 2005, 20:57:58
Ort: Borlänge

Inlägg av thepirateboy »

Du måste ibland ha full koll vad du gör, och då är det assembler som gäller. Det kan tex vara vissa instruktioner som måste utföras inom en viss tid, och då är det praktiskt att använda inline assembler i C. Det är också nyttigt och studera vad kompilatorn spottar ut sig, i LST-filen.

Nej, du måste installera WinAVRför att kunna kompilera C-kod i AVR-studio.
Användarvisningsbild
Zyxel615
EF Sponsor
Inlägg: 1839
Blev medlem: 9 november 2005, 21:20:43
Ort: Kiruna

Inlägg av Zyxel615 »

Som sagt: börja med assembler. Det ger så oerhört mycket att verkligen kunna se hur programmet arbetar, guld värt för att krama ut så mycket som möjligt ut en liten processor.
Användarvisningsbild
petterp
Inlägg: 139
Blev medlem: 2 maj 2007, 21:30:39
Ort: Öland || Jönköping

Inlägg av petterp »

Okej när jag väl har installerat WinAVR hur gör jag sedan, räcker det med att jag öppnar AVR-studio?

Hur stor skillnad är det mellan assembler och c rent kodmässigt?
Användarvisningsbild
Zyxel615
EF Sponsor
Inlägg: 1839
Blev medlem: 9 november 2005, 21:20:43
Ort: Kiruna

Inlägg av Zyxel615 »

Nej, du startar AVR Studio och väljer att skapa ett nytt C-projekt. Om allt funkar som det ska ska AVR Studio automatiskt hitta din WinAVR-installation. WinAVR är inget fristående program utan en samling av öppen-källkodverktyg för att kompilera program för AVR.
Användarvisningsbild
petterp
Inlägg: 139
Blev medlem: 2 maj 2007, 21:30:39
Ort: Öland || Jönköping

Inlägg av petterp »

Men åter till min fråga vart kan jag få tag på information över hur man programmerar i c miljön i avr-studio,

Är det ungerfär som vanligt C programmering eller?

Vad ska man skriva för att välja vilken processor, klock frekvens m.m i programmet?
eqlazer
Inlägg: 923
Blev medlem: 22 september 2007, 13:53:45
Ort: Göteborg

Inlägg av eqlazer »

Är det inte lika bra att börja från grunden med digitalteknik och jobba sig uppåt? :)

Att skriva C för AVR är som att skriva normala C-program. http://www.avrfreaks.net/ kan ge dig mycket hjälp och tips.

Edit:
Vår kassör i ETA gjorde i höstas en enkel guide för att komma igång med AVR. Långt ifrån komplett men till lite hjälp kan den förhoppningsvis vara.
http://wiki.eta.chalmers.se/doku.php?id ... taavrguide
Användarvisningsbild
petterp
Inlägg: 139
Blev medlem: 2 maj 2007, 21:30:39
Ort: Öland || Jönköping

Inlägg av petterp »

vad menar du nu? att börja från grunden med digitalteknik?

Jag är i det stadiet jag är intresserat av att hålla på med µp :P

Jag har läser digitalteknik parallelt i skolan, men läraren sätter oss i att programmera i basic och jag har inte fulllt så stort intresse i att lära mig ett basic språk ( kanske är bra ifall man ska lära sig grunder och inte längre ),
anser att det är mer givaren att programmera lite mer "avancerat"
eqlazer
Inlägg: 923
Blev medlem: 22 september 2007, 13:53:45
Ort: Göteborg

Inlägg av eqlazer »

Där bidde det rörigt, "basic" och "basic" som i språket eller grundläggande? Men iaf, det jag menade var att för att få bästa förståelsen för hur en processor fungerar är att börja med digitalteknik och jobba sig uppåt. Börja med grindar, gå uppåt för att bygga adderare, ALU, hel processor osv. Sedan gå in på assembler när man vet hur logiken i en processor fungerar. Slutligen ta steget upp till C.
Liknande detta är det som man gör på Chalmers i första årskursen på många program, säkerligen så på andra skolor också (vad nu du pluggar och kommer gå igenom vet ju inte jag).

Bra att du är sugen på att leka med uC! Då får vi väl försöka uppmuntra och hjälpa dig mer med den biten istället för att tjata om det andra :)
Om det nu var språket basic du menade så ja det är väl ganska onödigt och tråkigt. Kolla lite på wiki-länken jag skickade. Delen där man får en lysdiod att blinka ger dig lite försmak på hur C-kod för en uC ser ut, ganska begripligt om du nu kan C?

Första steget är att lära sig hantera miljön där man skriver sin kod och laddar ner på chippet.
Sedan få en lysdiod att blinka (klassiskt) för att se att allt fungerar. Sen är det bra att ha lite ideer och mål om vad man vill göra. Efter en liten stund lär du dig hitta i databladet för din krets, vilka register som ska manipuleras för att få det att fungera som du vill osv.
avrfreaks är ett bra ställe att söka information och kod-exempel på.
Användarvisningsbild
petterp
Inlägg: 139
Blev medlem: 2 maj 2007, 21:30:39
Ort: Öland || Jönköping

Inlägg av petterp »

ibland blir det rörigt när jag skriver :P börjar tänka på annat ;)

okej jag ska kolla närmare på den länken,
uppskattar all sådan information så att man lär sig programmera i C.

tillägg;
när jag ska "debugga" så säger den bara anslut "platform" Jag har en avrisp mk2 ikopllad,

men det finns inte som ett alternativ. hur ska jag göra?

Tillägg 2 ;

när jag väljer avr simulator som det står i guiden och väljer min krets atmega32 , så säger den vid det tillfället när jag väljer att den ska debugga:

""
Runtime Error!
program ......

This application has requested the Runtime to terminate it in an unusalual way.
Please contakt the applivcations suport team for more information.
""

Hjälp?? :(
bos
Inlägg: 2323
Blev medlem: 24 februari 2007, 23:29:15
Kontakt:

Inlägg av bos »

Ger inte "Please contakt the applivcations suport team for more information." tillräckligt med tips?
Skriv svar