Sida 2 av 2
Postat: 9 november 2005, 19:20:08
av ny börjare
sodjan skrev:Som nybörjare borde du börja med assembler tills du tror/tycker att du behärskar pocessorarkitekturen. Räkna med ett år eller så. Då kan det vara läge att byta till något annat (om det skall vara helt nödvändigt...

).
ska jag börja med assembler tills jag "behärskar pocessorarkitekturen"
behöver man veta exakt hur en processor fungerar för att kunna programera den? en kock behöver väl inte förstå exakt hur en spis funkar för att kunna steka pannkakor?
Postat: 9 november 2005, 20:03:52
av sodjan
> behöver man veta exakt hur en processor fungerar för att kunna programera den?
Lite beroende på vad du menar med "exakt", men i princip, ja.
Postat: 11 november 2005, 08:24:43
av ny börjare
förklara vad du menar, så gott du kan
Postat: 11 november 2005, 08:44:31
av Icecap
Man behöver inte veta vilken transistor i kärna som gör vad, man behöver veta vad registranas värden egentligen gör samt vad som kan förväntas när programmet körs.
I vissa fall är det nödvändigt att veta den exakta timing för vissa hårdvaruhändelser osv men mer än det tror jag inte man behöver.
Ska du programmera måste du ju såklart veta t.ex. vilken port/pinne som är kopplat till vad osv och programmet lär ju inte duga till något om du inte fattar vad varje instruktion egentligen gör eller hur?
Men har du samlat ihop de sakerna ser jag inget hinder för att köra så det ryker....
Kom ihåg bara att avkoppla spänningsmatningen, mata alla pinnar som ska matas och låt bli att låta en portpinne "hänga fritt" som input, behövs den inte är det en mycket bra idé att sätta den till output.
Postat: 11 november 2005, 09:02:06
av gvs
Jag tycker det verkar som om Wispen inte stödjer 12f683. Lite tråkigt tycker jag då den har fördelar som liten, A/D, PWM. Vilken programmerare rekommenderas för denna?
Postat: 11 november 2005, 11:11:01
av sodjan
> Jag tycker det verkar som om Wispen inte stödjer 12f683.
Fungerar helt OK.
Postat: 11 november 2005, 17:23:43
av ny börjare
Icecap skrev:Man behöver inte veta vilken transistor i kärna som gör vad, man behöver veta vad registranas värden egentligen gör samt vad som kan förväntas när programmet körs.
I vissa fall är det nödvändigt att veta den exakta timing för vissa hårdvaruhändelser osv men mer än det tror jag inte man behöver.
Ska du programmera måste du ju såklart veta t.ex. vilken port/pinne som är kopplat till vad osv och programmet lär ju inte duga till något om du inte fattar vad varje instruktion egentligen gör eller hur?
Men har du samlat ihop de sakerna ser jag inget hinder för att köra så det ryker....
Kom ihåg bara att avkoppla spänningsmatningen, mata alla pinnar som ska matas och låt bli att låta en portpinne "hänga fritt" som input, behövs den inte är det en mycket bra idé att sätta den till output.
det var bra sagt:)
Om jag tolkar det du skrivit rätt (om inte, säg till) behöver man inte veta så mycket om microprocessorn, det man ska veta och förstå är hur programeringsspråket är uppbyggdt och hur man använder det.
Vad jag har fattat är C programmeringsspråket man ska välja, tyvärr vet jag ingenting om C, så om någont kunde dela med sig av sin kunskap skulle jag vara mycket glad. Eftersom jag kan lite visual basic och pbasic (har kollat på paralax hemsida), skulle det hjälpa om någon gjorde en gämförelse mellan C och visual basic och pbasic
kan någon visa hur ser t ex en loop ut i C?
Postat: 11 november 2005, 19:38:25
av sprawl
en for-loop:
int a;
for(a=0; a<10; a++)
{
//gör något
}
en while-loop:
while(true)
{
//gör något
}
en do while-loop:
do
{
}
while(true);
Även om denna förklarar skillnaden mellan C# och VB.NET så stämmer det som handlar om
* Variabler
* Conditional statements
* Selection Statements
* FOR Loops
* WHILE Loops
* Säkert mer...
VB.NET / C# skillnad
Nu kanske den är missvisande eftersom det inte är vanlig VB mot just C, så du får välja själv om du vill kolla på länken
/Andreas
Postat: 11 november 2005, 21:09:55
av Kaggen
ny börjare skrev:det var bra sagt:)
Om jag tolkar det du skrivit rätt (om inte, säg till) behöver man inte veta så mycket om microprocessorn, det man ska veta och förstå är hur programeringsspråket är uppbyggdt och hur man använder det.
Du behöver inte veta hur microcontrollern funkar internt, du behöver däremot veta hur du utnyttjar microcontrollerns funktioner och register.
Du jämförde microcontrollern med en spis, jag skulle vilja jämföra den med en verktygslåda. För att spika måste du kunna hantera en hammare, för att borra, en borr, för att såga, en såg, för att skruva, en mejsel.
För en microcontroller måste du kunna hantera in/ut portar, A/D omvandlare, timers och veta dess begränsningar som RAM-minne, programminne och klockfrekvens.
Allt i en microcontroller styrs med ettor och nollor, så det allra viktigaste, skulle jag vilja påstå, är en stark förståelse för binära och hexadecimala tal och aritmetiska operationer (AND, OR, NOT m.fl.). I andra hand kommer språket (assembler, C, C++ ...) och hur programspråket hanterar ovanstående tal och operationer.
Med VB så är man enormt bortskämd. Ofta behöver man inte tänka på typer och minne, ungefär som ett barn aldrig behöver bry sig om hur maten kan stå varm och färdig på bordet varje dag.
Med microcontrollers är det inte lika lyxigt. Man lär, så att säga, odla sin mat, skörda och koka den själv.
mvh Mats
Postat: 11 november 2005, 23:19:55
av sodjan
> kan någon visa hur ser t ex en loop ut i C?
Innan du alls behöver bekymra dig om det, behöver du lära dig den processor arkitektur som loopen skall köras på. Du behöver t.ex kunna avgöra om det överhuvudtaget är en loop som är lämpligt just i det fallet.
Kom också ihåg att mikrokontrollers handlar lika mycket elektronik/hårdvara som "programmering". Glöm VB, det här handlar om något helt annat.
> Om jag tolkar det du skrivit rätt, behöver man inte veta så mycket om microprocessorn,
Nja... Innan du skriver en rad kod (helt oavsett om det är assembler eller något 3G språk), måste/bör du ha plöjt igenom databladet för den processor du tänker använda så att du känner dig hemtam med det som står där, och snabbat kan hitta tillbaks till rellevanta kapitel när (inte om) du kör fast.
Varför försöka ta genvägar ? Du lurar bara dig själv och kommer att få onödiga problem. Och i detta avseende (alltså behovet av att veta hur den processor du skall köra på fungerar) skilljer sig inte C eller Basic på något sätt från assembler.
Det kan *verka* som om man snabbt kan komma igång med enkla program i C eller Basic, men så snart det blir lite mer komplicerat så får C/Basic programmeraren som har slarvat i början ofta *mer* problem än assembler programmeraren som har tagit sig tid och lärt sig mer från grunden.