Sida 1 av 3

Assembler eller C++?

Postat: 1 maj 2006, 12:11:26
av Nicodemus
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. :shock:

Postat: 1 maj 2006, 13:02:06
av Solution9
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).

Postat: 1 maj 2006, 13:05:43
av sodjan
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.

Postat: 1 maj 2006, 13:15:34
av Nicodemus
Ja, jag har hört att det är ett mer maskin nära språk skulle dock villja kunna labborera med båda två. Vilka program är det jag behöver för C programering, kompilatorer och så vidare??

Postat: 1 maj 2006, 13:24:44
av Nicodemus
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 :D , 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 :D

Postat: 1 maj 2006, 13:31:38
av sodjan
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... 8)

Postat: 1 maj 2006, 14:29:35
av Nicodemus
Tack för tipsen, var kan jag hitta enkla programexempel tex blinkande lysdiod för Assembler, eller kanske en timer som räknar ner och sen tänder en diod. väldigt enkla saker med andra ord..

Postat: 1 maj 2006, 14:35:08
av Icecap
Vad jag vet har Microchip en hel del exempler som är bra dokumenterat, tyvärr har jag också förstådd att de definitivt inte alltid är felfria.....

Här finns en Application Note listning som kan ge många svar (och sannolikt frågor också)

Postat: 1 maj 2006, 15:37:59
av Nicodemus
Tack för hjälpen allihopa :)

Postat: 1 maj 2006, 17:00:17
av xezer
Ä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 :x
Senare testade jag att använda mig av WinPIC, http://people.freenet.de/dl4yhf/winpicpr.html, och då fungerar allt klockrent :)

Postat: 2 maj 2006, 17:28:17
av henkebenke
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).

Postat: 2 maj 2006, 17:47:56
av sodjan
> Visst finns det C++ för PIC...

Länk ?

Skulle vara trevligt att ta en "titt"...

(Jag tror dock fortfarande att det är lite overkill för en 16F627...)

Postat: 2 maj 2006, 18:02:21
av henkebenke
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.

Postat: 7 maj 2006, 23:33:30
av pagge
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.

Postat: 8 maj 2006, 00:49:20
av Marta
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.