
Assembler eller C++?
Assembler eller C++?
Jag har precis köpt ett K8048 Vellemankort med en 16F627 och försöker lära mig använda den. Jag har läst lite på forumet och sett att några använder Assembler och några C++ (ser det ut som iaf). Jag har läst lite C++ i skolan och skulle helst använda mig av C++ eller liknade om det går? Skulle behöva lite tips på program. 

dom använder sig av C och inte C++...
men det beror helt på vad du ska göra tycker jag, C är lite smidigare men assembler är ett väldigt bra språk då du lär dig hur maskinvaran verkligen fungerar och dessutom ser du hur stort ditt "program" verkligen blir samt hur snabbt det kommer gå (i fallet för en enklare RISC-mCPU som PIC kretsarna i alla fall).
men det beror helt på vad du ska göra tycker jag, C är lite smidigare men assembler är ett väldigt bra språk då du lär dig hur maskinvaran verkligen fungerar och dessutom ser du hur stort ditt "program" verkligen blir samt hur snabbt det kommer gå (i fallet för en enklare RISC-mCPU som PIC kretsarna i alla fall).
Jag har aldrig sett en C++ kompilator till PIC, och jag har väldigt
svårt att se hur man skulle ha nytta av "++"-delen.
Men, om du verkligen vill lära dig PIC, så är det assembler som gäller.
Bara att ladda ner MPLAB och köra igång !
Dessutom är medskickad
processor så pass "liten", så fördelen med C är inte så stor.
Att du har läst C(++) tidigare spelar inte så stor roll, det är lite
annorlunda att programmera en microcontroller än att skriva PC (?)
program. Det finns en liten risk att du bara får *mer* problem p.g.a
av det du har lärt dig om C(++) på andra plattformar.
Slutligen, om du hade kollat runt lite på forumet, så hade du upptäckt
hur stora problem många har haft med K8048. Om jag inte minns fel
gick någon tillbaka med sin där han hade köpt den...
Det är även lite "trist" att de skickar med en utgången processor (16F627),
den är ersatt av 16F627A sedan många år tillbaka. De kunde även ha
stoppat in en 16F628A (med dubbla programminnet) till nästan samma
kostnad. Men de har väll hittat ett överskottsparti med 16F627 billigt...
Hoppas att du skaffade K8048'an från ett ställe med bra kundservice
och support, ifall du får problem.
svårt att se hur man skulle ha nytta av "++"-delen.
Men, om du verkligen vill lära dig PIC, så är det assembler som gäller.
Bara att ladda ner MPLAB och köra igång !

processor så pass "liten", så fördelen med C är inte så stor.
Att du har läst C(++) tidigare spelar inte så stor roll, det är lite
annorlunda att programmera en microcontroller än att skriva PC (?)
program. Det finns en liten risk att du bara får *mer* problem p.g.a
av det du har lärt dig om C(++) på andra plattformar.
Slutligen, om du hade kollat runt lite på forumet, så hade du upptäckt
hur stora problem många har haft med K8048. Om jag inte minns fel
gick någon tillbaka med sin där han hade köpt den...
Det är även lite "trist" att de skickar med en utgången processor (16F627),
den är ersatt av 16F627A sedan många år tillbaka. De kunde även ha
stoppat in en 16F628A (med dubbla programminnet) till nästan samma
kostnad. Men de har väll hittat ett överskottsparti med 16F627 billigt...

Hoppas att du skaffade K8048'an från ett ställe med bra kundservice
och support, ifall du får problem.
Ok, nu är ni flera som har övertygat mig så Assembler it is. Har inte haft några problem än med min K8048 förutom att ett av motstonden i satsen hade helt fel värde, så de bytte jag ut, tur att man är uppmärksam
, Någon som har något tips på en bra bok, köpte en på Elfa som hetter A Beguinnders guide to the microchip Pic, visade sig att den var över tio år gammal och inte så aktuell så jag ska få lämna till baka den. Skulle behöva tips på någon bra bok efter som jag snart är utan.
Tack för hjälpen föresten

Tack för hjälpen föresten

http://www.elektronikforumet.com/wiki/i ... ontrollers
http://www.elektronikforumet.com/wiki/index.php/PIC
> Vilka program är det jag behöver för C programering, kompilatorer och så vidare??
Du behöver en kompilator.
Programmeringsprogramvara följde väl med K8048'an, antar jag.
> skulle dock villja kunna labborera med båda två.
Visst, men det är ingen panik.
Om du är ny med PICs, så har du ett halvår framför dig innan du kommer
upp i varv hur som helst. Och det är en fördel att ha kört lite assembler
innan man börjar med C, så att man förstår bättre vad kompilatorn "gör".
> Någon som har något tips på en bra bok,
Den mesta literatur som finns har just samma problem som den på ELFA.
Detsamma gäller det mesta som går att hitta på "nätet", bäst-före
datumet har passerats för länge sedan. På länkarna ovan finns det ett
par sidor och en PDF med en "beginners guide".
Microchip har också en del info.
Annars innhåller databladen *allt* du behöver veta...
http://www.elektronikforumet.com/wiki/index.php/PIC
> Vilka program är det jag behöver för C programering, kompilatorer och så vidare??
Du behöver en kompilator.
Programmeringsprogramvara följde väl med K8048'an, antar jag.
> skulle dock villja kunna labborera med båda två.
Visst, men det är ingen panik.

Om du är ny med PICs, så har du ett halvår framför dig innan du kommer
upp i varv hur som helst. Och det är en fördel att ha kört lite assembler
innan man börjar med C, så att man förstår bättre vad kompilatorn "gör".
> Någon som har något tips på en bra bok,
Den mesta literatur som finns har just samma problem som den på ELFA.
Detsamma gäller det mesta som går att hitta på "nätet", bäst-före
datumet har passerats för länge sedan. På länkarna ovan finns det ett
par sidor och en PDF med en "beginners guide".
Microchip har också en del info.
Annars innhåller databladen *allt* du behöver veta...

Ända problemet jag har haft med K8048 är att den inte fungerade på min laptop, vilket man kan läsa lite överallt men aldrig får veta varför
Senare testade jag att använda mig av WinPIC, http://people.freenet.de/dl4yhf/winpicpr.html, och då fungerar allt klockrent

Senare testade jag att använda mig av WinPIC, http://people.freenet.de/dl4yhf/winpicpr.html, och då fungerar allt klockrent

-
- Inlägg: 515
- Blev medlem: 31 maj 2003, 10:42:37
- Ort: Helsingborg
Visst finns det C++ för PIC och för andra microcontrollers och visst finns det anledning att använda det.
Om C++ kan hjälpa en att skriva underhållbar modulariserad mjukvara och om man tänker objektorienterat så kan man mycket väl överväga C++. Den stora fördelen med assembler som jag ser det är att insteget att lära sig nya verktyg blir mindre om man använder tillverkarens anpassade och ofta väl fungerande utvecklingsmiljö (som oftast endast innehåller assembler).
Om C++ kan hjälpa en att skriva underhållbar modulariserad mjukvara och om man tänker objektorienterat så kan man mycket väl överväga C++. Den stora fördelen med assembler som jag ser det är att insteget att lära sig nya verktyg blir mindre om man använder tillverkarens anpassade och ofta väl fungerande utvecklingsmiljö (som oftast endast innehåller assembler).
-
- Inlägg: 515
- Blev medlem: 31 maj 2003, 10:42:37
- Ort: Helsingborg
http://www.picant.com/c2cpp/cpp.html och http://www.iar.com/p30345/p30345_eng.php, har ingen erfarenhet av dessa då jag försökt hålla mig ifrån PIC så gått det går.
Jag har främst gjort avr projekt, men även lite PIC nu på siståne och jag har aldrig skrivit en rad assembler
. Jag har inte känt något behov av det, det är bara såå skönt att kunna skriva lite if-satser och formler rakt av utan att behöva krångla med registerallokering m.m. Jag skulle definitivt rekomendera att du försöker få igång en C kompilator. Kommer inte ihåg på rak hand vad jag använder när jag kodar PIC (En kurs i skolan, allt var installerat och klart) men det funkar bra, jag kan kolla vad kompilatorn heter i morrn. Skriver man okonstlad C kod så gör kompilatorn inte så mycket speciellt annat 'konstigt' än att spara dig tid. Du har fortfarande tillgång till alla CPU register m.m.

Har Du inte provat assembler så vet Du inte vad Du går miste om. I sådana applikationer som man normalt skriver till PIC så är det vanligtvis mycket mera rättframt att skriva i assembler. Det finns inget alternativ som ger 100% kontroll över vad som händer. Dessutom blir det mycket effektivre kod när man själv handplockar instruktionerna än när en kompiler vräker in standardsekvenser för det uttryck man skriver i s.k. högnivåspråk.