Sida 1 av 1

AVR => I vilken ände ska man börja?

Postat: 30 november 2006, 22:51:07
av Limen
Så här ligger det till: jag har erfarenhet av CSS, xHTML, PHP och MySQL. Bara språk som är ganska "högnivå" alltså. Jag vill lära mig programmera AVR och vet inte riktigt vilket språk jag ska koncentrera mig på.
Är det bäst att börja på assembler för att få en grundläggande förståelse för vad jag egentligen håller på med?
Eller är det bättre att börja med t.ex. C för att sedan spåna lite på assembler för att utöka min förståelse?
Hur började du din "AVR-karriär"? Positivt/negativt med det sätt du lärt dig programmering på? Några steg du lika gärna kunde hoppat över?

Tack på förhand!

(reserverar mig för eventuella felstavningar då batterierna i tangentbordet sjunger på sista versen, plus att 7:e ölen just för tillfället konsumeras)

Postat: 30 november 2006, 22:54:29
av bengt-re
Har man aldrig jobbat med uC så är assambler oftast bästa sättet att lära sig på.

Postat: 30 november 2006, 23:01:20
av Stinrew
Jag svarar 'C'. Jag fick en snabbintroduktion av PaGGe till AVR med 'C' för några år sedan, och jag tycker att det är lätt läst/lätt att gissa vad som sker i koden. Har näst intill aldrig känt behovet av att kunna asm, förutom vid två tillfällen med tiny15(som man inte kan koda i 'C' till).

Postat: 30 november 2006, 23:08:26
av bengt-re
Allt beror på vad man skall göra med sin uC. Har man behov av snabbhet så är assambler bättre. Och det är inte så stökigt att programmera assambler heller.

Smaken är som baken...

Postat: 30 november 2006, 23:11:51
av RasmusB
Håller med bengt-re om att assembler är en bra startpunkt. Det kan nog kännas som om det är lite högre tröskel på asm om man är van vid högnivåspråk, men å andra sidan får man snabbt en bra förståelse för hur en µC fungerar, och det har man väldig nytta av oavsett vilket språk man skriver i... :)

Postat: 30 november 2006, 23:13:12
av Limen
Just för tillfället finns inget specifikt mål med min vilja att lära mig AVR. Jag vill ha ett så brett kunnande som möjligt för att kunna tillämpa det på så många områden/applikationer som möjligt.

Postat: 1 december 2006, 11:53:25
av RasmusB
Personligen tycker jag att det "breda kunnandet" går snabbare att ta till sig om man lär sig asm först. Men det finns säkert dem som tycker precis tvärt om... :)

Postat: 1 december 2006, 13:55:37
av Icecap
Rent omedelbart ser jag att du har hållit på med språknivå som är en bra bit ifrån hårdvaran. Detta är oftast det största problem när man ska lära sig µC, man tänkar "stort" och ska klämma ner tankarna i en liten dosa. Det blir sällan bra.

Jag vill också föreslå att du skaffar lite grejer, jag hade satsat på en skaplig programmeringsenhet och en processor med en del pinnar på. Sedan startar du med assembler, denna kombination gör att du kan gå nerifrån och upp, får bra överblick över hårdvarufunktionerna och lär känna kretsen först.

När du når punktet att det största funktionshinder är att det tar en jäkla tid att skriva så mycket för att uppnå den önskade funktioner och alltså är kommit över problemen med att ställa interrupt, serieporta osv rätt, då kan det vara ytterst befogad att stega upp till C eller liknande.

Detta gäller faktisk helt oberoende på vilken µC du vill köra och när du har gått dessa steg minst en gång kommer nästa µC att vara rena barnleken, då kan man starta direkt i C eller liknande.