Vad behövs för att få en pic att fungera som en basic sta

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
ny börjare
Inlägg: 109
Blev medlem: 1 november 2005, 15:31:18
Ort: Hemma

Vad behövs för att få en pic att fungera som en basic sta

Inlägg av ny börjare »

Basic stamp är bra och enkla att börja med, det är bara "plug and play," men det gör att basic stamp är mycket dyra :cry:
En pic är däremot mycket billigare, men vad jag fattar behövs det en massa andra saker för att få det att fungera. Det vore schyst om någon vänlig och smart själ skulle kunna skriva en lista på allt som behövsför att få en fungerande enshippsdator/microprocessor av en pic. Det skulle hjälpa många fler än bara mej...

Eller är AVR kanske bättre än pic? Någon som vet?

kommer alla saker spm behövs göra att pic till slut blir lika dyrt som basic stamp?
Senast redigerad av ny börjare 2 november 2005, 11:25:55, redigerad totalt 2 gånger.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

Det beror mycket på vad man skall göra.
Att det behövs en "massa andra saker" är en lätt överdrift.
Det beror också på vad man redan har och om kan har pysslat med annan elektronik tidigare.

Är det ett färdigt kort med stödkretser för inbyggdnad du behöver ?
Då finns det olika lösningar med mindre och större kort med olika "utrustning".
Bäst är sannolikt att titta på kort som inte är begränsade som STAMP'en.

Eller någon form av experimentmiljö för att "lära sig" ?
En labbplatta med lite lösa komponenter fungerar ofta bra.

Eller en mer komplett utrustning med hårdvara och utbildningsmaterial för t.ex en skolmiljö ?
Då kan ett "all-included" kort fungerar, t.ex Microchips PICkit 2 eller liknande. Jag har använt dessa prylar i ett projekt på en gymnasieskola : http://www.voti.nl/dwarf/index.html. Ganska trevlig lösning...

> Det vore schyst om någon vänlig och smart själ skulle kunna skriva en lista på allt som behövsför att få en fungerande enshippsdator/microprocessor av en pic.

Jag vet inte om det är möjligt att göra det generellt, det beror så mycket på vilka önskemål/krav man har på funktionen...
pagge
EF Sponsor
Inlägg: 933
Blev medlem: 15 juni 2004, 00:15:08
Ort: Luleå
Kontakt:

Inlägg av pagge »

Jag erkänner på en gång att jag aldrig har arbetat med PIC, endast AVR, och därför är mycket subjektiv på frågan pic eller avr :). Kan ialafall säga att AVR är väldigt lätt att komma igång med, och billig att få fungerande (Därav ej sagt att pic inte skulle vara det, bara att det vet jag inget om).

En reell fördel med AVR gentemot PIC är ialafall att standard C kompilatorn GCC kan användas istället för pic basic (som vad jag förstått är det man är hänvisad till i pic fallet). Oavsett vad alla säger om tjusningen med assembler så tar jag ej i det med tång om jag slipper, varför springa till jobbet om man kan åka bil.

Bra nybörjar processorer skulle kunna vara AT2313 och Tiny26, av den enkla anledningen att de inte har så mkt funktioner så databladet blir inte så vansinnigt långt :) . Databladen från atmel är för övrigt (i min mycket subjektiva värld) väldigt välskrivna och enkla att hitta i.

Ett minimalt system med en avr kräver bara AVR en själv för 50 lappen, en dator med paralell port och en slaktad paralellkabel för programmering.
Kanske då lämpligen även kretskort / en labplatta att fästa avren i och den extrautrustning du vill labba med.

Vill du lyxa till det kan du köpa en STK500 http://www.atmel.com/dyn/products/tools ... ol_id=2735 (c:a 500 kr tror jag). Då får du ett kretskort med socket att sätta in AVRen för programmering samt lysdioder att flasha och knappar att trycka på :D
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

> En reell fördel med AVR gentemot PIC är ialafall att standard C kompilatorn GCC kan användas

För PIC18 använder man lämpligen Microchips egen C18. Finns en full-function gratis version att ladda ner. Personligen tycker jag att det känns bättre att köra en kompilator direkt från processortillverkaren, och inte tredjeparts prylar.

För övrigt kan man väll byta plats på "AVR" och "PIC" i din text, och det skulle fortfarande vara ungefär lika korrekt (eller fel, beroende på ens egen utgångspunkt...) :-)
Användarvisningsbild
Hedis
Inlägg: 2493
Blev medlem: 8 december 2003, 15:10:44
Ort: Vänersborg
Kontakt:

Inlägg av Hedis »

Programmera en PIC med avklippt parallellporstkabel kan vell bli svårt? :)

Men visst, man blir lätt insnöad på den modell man väljer.
Jag förespråkar oxå AVR.

PicBasic används för PIC för att kunna skriva basic-program till dom. En Basic-stamp innehåller basic-tolken medans med picbasic så ligger den i mjukvaran i datorn. Nu kan man ju inte gämnföra dom rakt av iofs.

Alla steg ifrån basic-stamp är nog positiva iaf. :)
Användarvisningsbild
PacMan
Inlägg: 94
Blev medlem: 3 oktober 2005, 16:12:24
Kontakt:

Inlägg av PacMan »

Jag provade att programmera lite i Basic Stamp-editorn innan jag bestämde mig för att börja lära mig PIC istället. Basic Stamp verkade väldigt enkelt, men ungefär lika begränsat, i alla fall den billiga versionen som jag hade tänkt mig. Efter att jag hade skaffat PIC-prylarna testade jag lite med demoversionen av detta program: http://www.picbasic.org/ och det visade sig vara i stort sett lika enkelt som Basic Stamp. Demoversionen är begränsad till 60 rader kod eller hur det var, men det kan ju räcka ganska långt om man inte ska göra så avancerade grejer.
pagge
EF Sponsor
Inlägg: 933
Blev medlem: 15 juni 2004, 00:15:08
Ort: Luleå
Kontakt:

Inlägg av pagge »

sodjan skrev:> Personligen tycker jag att det känns bättre att köra en kompilator direkt från processortillverkaren, och inte tredjeparts prylar.
Hmm. jag tänkte som så att GCC har funnits så länge att den är väl buggtestad, samt att kodoptimering och dylikt väl utvecklat pga. lång utvecklingstid. Sen har ju alla kompilatorer sina egenheter, är man van vid GCC från PC som jag råkade vara så är det ju en fördel att få köra samma.
Däremot håller jag med om att det är + att få köra tillverkarens egen, men jag tycker ändå fördelarna väger över till GCC eftersom det i AVR fallet fungerar så smärtfritt.
sodjan skrev:>
För övrigt kan man väll byta plats på "AVR" och "PIC" i din text, och det skulle fortfarande vara ungefär lika korrekt (eller fel, beroende på ens egen utgångspunkt...) :-)
I första stycket så, ja. Det kunde kanske upplevas som lite intetsägande, ville bara klargöra vilken sida jag stod på på en gång :)
Men stycke 4 om paralellkabels programering, går det mer PIC? Hört nåt obekräftat rykte om att det inte skulle gå...? Isåfall är PIC <=> AVR inte utbytbara i d stycket.
Användarvisningsbild
speakman
Inlägg: 4838
Blev medlem: 18 augusti 2004, 23:03:32
Ort: Ånge

Inlägg av speakman »

Jag skulle vilja poängtera ytterligare att det inte bör vara någon särskild fördel med en C-kompilator från tillverkaren eller ej.
Man skulle nästan kunna dra en parallell med en assemblator; borde inte spela någon roll, eller hur?
Nu är jag visserligen av den modeller som försöker att inte använda mig av färdiggjorda funktionsbibliotek medföljande kompilatorn, utan skriver hellre mina egna för varje processorspecifik hårdvarufunktion (USB/UART/Timers etc.).

Däremot kan jag tänka mig att tillverkarens C-distribution kanske har ett mer utbyggt funktionsbibliotek för nya hårdvarustödda funktioner.

Sedan kommer väl resonemanget in angående öppen källkod.
Nu känner jag bara till GCC, men den har ju öppen källkod vilket ger utvecklare själva möjligheten att utveckla den vidare, och även då optimera den för respektive processor.
C18 kanske är öppen den också, jag har tyvärr ingen koll. Men jag tror att öppen källkod gynnar just kompilatorer eftersom det endast används av utvecklare. :)

Sedan skulle jag vilja göra klart också för den som inte är så insatt i C att det, till skillnad från Basic, inte kräver att en kompilator har stöd för varje enskild hårdvarustödd funktion. Det går lika bra att peta i registrerna i C som i Asm. :)
Och skulle man vilja optimera rutiner så går Inline Assembler alldeles utmärkt att använda.
C i sin helhet är egentligen ganska litet - väldigt få "reserverade ord".
Därför blir oftast koden väldigt optimerad och inte sällan lika effektiv som om den var skriven i Asm.

Mvh
speakman
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

Den fördel som jag kan se, är tidigare stöd för nya processormodeller, t.ex under den tid då det enbart finns "samples" att tillgå.

Sen, personligen har jag aldrig fattat finessen med "öppen källkod". En produkt (t.ex en kompilator) skall väll fungera enligt specifikationen, annars är det något fel på den. Hur kommer det sig att det enbart är inom IT som det är så viktigt med detta som kallas "öppet" ? Ingen begär ju att få alla ritningar m.m till t.ex en bil !?

C18 är inte öppen, men jag ser inte vad dete har för betydelse.
C30 (till dsPIC) bygger delvis på vissa öppna delar, vilket verkar mest ha krånglat till det hela...

> Det går lika bra att peta i registrerna i C som i Asm.

Precis som i de allra flesta Basic versioner, ingen speciell skillnad där. Om man skriver "<register> = <värde>", så borde det bli samma resultat som om man gör motsvarande i C-syntax. Och alla Basic varianter (2-3 st) till PIC Basic jag har kollat har haft möjlighet till inline asm.
Användarvisningsbild
lgrfbs
Inlägg: 7310
Blev medlem: 28 januari 2005, 15:48:53
Ort: X-län
Kontakt:

Inlägg av lgrfbs »

sodjan om man köper ut verkstadshandboken från tillverkaren så får man komplett
scheman över elsystemet (dock ej interna scheman till dataenheter), så din
jämförelse funkade inte riktigt :D
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

Jag tänkte inte främst på el-ritningarna...

Spelar ingen roll, det finns knappast något annat område än IT där det accepteras att om man har fått en undermålig produkt, så är det helt OK, det är bara att börja "skruva" själv...
Användarvisningsbild
speakman
Inlägg: 4838
Blev medlem: 18 augusti 2004, 23:03:32
Ort: Ånge

Inlägg av speakman »

Hur menar du med "tidigare stöd för nya processormodeller"?
Gäller samma assembler också då? Det enda jag kan komma på är om nya OP-koder uppstår, men då kan man med den öppna programvaran addera dessa själv. :D
Och till en C-kompilator finns ingen fast specifikation. OP-koderna är ju spikade, men sedan finns minst lika många sätt att t.ex. optimera kod som det finns kompilatorer. Därför krävs ständig förbättring/optimering av kompilatorn.

Nu vill jag inte hamna helt O/T, men jag ville bara föra fram några faktan kring C för de som inte använt det.

Sedan ursäktar jag att jag inte poängterat att jag inte har den minsta peijl på Basic för uC:s, men det jag menade var att så länge man kan utnyttja funktioner genom register, så är det lika möjligt i C som i Asm. Och tydligen då även Basic. :)

Och då jag är en stor förespråkare för Open Source, så är det nog inte bäst vi diskuterar det i den här tråden! :lol:

Mvh
speakman
Kaggen
Inlägg: 432
Blev medlem: 29 januari 2005, 03:06:02

Inlägg av Kaggen »

sodjan skrev:Sen, personligen har jag aldrig fattat finessen med "öppen källkod". En produkt (t.ex en kompilator) skall väll fungera enligt specifikationen, annars är det något fel på den. Hur kommer det sig att det enbart är inom IT som det är så viktigt med detta som kallas "öppet" ? Ingen begär ju att få alla ritningar m.m till t.ex en bil !?
Don't get me started! :)

Microchip släpper ju mycket "öppet". Du om någon borde väl uppskatta "öppna" väldokumenterade gratis datablad. Vad skulle du tycka om att skriva på NDA-avtal och betala för utvecklarinformation för PIC?

Försök få tag i utvecklarinfo/datablad till ett hyffsat modernt grafikkort där det står exakt hur du bitbangar det al'a microships datablad.

Du lär antagligen skriva på en ansenlig mängd NDA-avtal där du antagligen personligen blir skadeståndsskylldig om du yppar hur du sätter en simpel pixel på skärmen.

Problemet är att merparten av drivers för diverse datorhårdvara enbart utvecklas för windows och är binära. D.v.s för andra OS är det svårt att modifiera denna binära kod. För Linux m.fl. återstår att reverse-enginera (ursäkta svengelskan) många drivers för att få dom att funka under respektive OS. Har blivit en bättring av detta dock, antagligen mest på grund av en hel del Linux-hype.

Som inte detta vore nog har du ju en hel del löjliga mjukvarupatent. Skriver du t.ex en enkel RLE (Run Length Encoding) rutin till PIC:en, bör du veta att den är patenterad, och stygga företag kan stämma dig. Du vet väl att "dubbelklick" är patenterat?

Öppen källkod är dock inte lika viktig som öppna standarder (anser jag), men den kan dock tillåta mig att enkelt, och lagligt, t.ex. installera en webserver och använda ftp till ett billigt pris istället för att betala stora licensavgifter till microsoft för IIS.

Om inte öppen-källkod fanns skulle det ju finnas mindre konkurrens inom mjukvarubranschen, och det gynnar ju ingen förutom möjligtvis de stora monopolföretagen.

Mats
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

> Hur menar du med "tidigare stöd för nya processormodeller"?

Att det finns färdiga hårdvarudefinitionsfiler.
Att det finns färdiga linker scripts som stämmer mot minnesmodellen i de nya processorerna.
Att det finns färdigt stöd i simulatorer och andra mjukvaruverktyg.

Allt detta förväntar jag mig kommer tidigare i Microchips egna verktyg.

> Gäller samma assembler också då? Det enda jag kan komma på är om nya OP-koder uppstår,...

Inte så vanligt, även om de nyarna PIC18 processorerna har en "extended mode" med 8-10 nya instruktionern. Dock är dessa instruktioner inte tänkta för den som programmerar i assembler, utan för att skriva effektivare C kompilatorer (något som man antagligen kan förvänta sig först kommer i Microchips egna verktyg, och är redan inbyggt i C18 för övrigt).

> ...men då kan man med den öppna programvaran addera dessa själv.

Exakt det som man absolut *INTE* ska behöva göra ! Finns väll ingen snickare som köper en halvfärdig hammare och tänker att "resten fixar jag själv...".

Kaggen> "Microchip släpper ju mycket "öppet". Du om någon borde väl uppskatta "öppna" väldokumenterade gratis datablad."

Men ett datablad är ju ett slags "manual" som behövs för att används en produkt alls. Alla produkter (öppna eller inte) har väll en manual ?
Däremot är det svårare att få tag i interna design detaljer (kiselmasker och liknande) till processorerna.
Användarvisningsbild
speakman
Inlägg: 4838
Blev medlem: 18 augusti 2004, 23:03:32
Ort: Ånge

Inlägg av speakman »

Blir mer och mer O/T, men...

> Att det finns färdiga hårdvarudefinitionsfiler.
Det står i databladet. Varför invänta ny kompilatorversion från tillverkaren än att peta in det själv i header-filerna?

> Att det finns färdiga linker scripts som stämmer mot minnesmodellen i de nya processorerna.
Minnesmodellen framgår ju även det i databladet. Inte heller särskillt besvärligt att anpassa själv för den nya processorn. Om dom inte förändrar något helt radikalt kan det räcka att skicka med parametrar genom kompilatorn till linkern för att ändra minnesareor etc.

> Att det finns färdigt stöd i simulatorer och andra mjukvaruverktyg.
Nu var det ju förvisso kompilatorn vi diskuterade, men även här anpassas verktygen eftersom i öppna program.

Sedan beror det givetvis mycket på hur stort intresset är för en ny produkt. Är det något "revolutionerande" så sitter ju folk bara å väntar på specen för att fylla ut Open Source-kompilatorerna. :)

Men du har en poäng; givetvis har tillverkaren tidigare tillgång till dokument för att hålla sin kompilator aktuell. Dom kan ju t.o.m. utvecklas parallellt med den nya processorn!

Dock anser jag att de övriga fördelarna med öppna kompilatorer överväger. Är det bara tillräckligt många användare så finslipas programmen riktigt effektivt. Alla har möjlighet att påverka åt det bättre!

Har i allmänhet så fantastiskt goda erfarenheter av öppna programvaror, varav jag förespråkar det.

> Finns väll ingen snickare som köper en halvfärdig hammare och tänker att "resten fixar jag själv...".
Nej, men kommer han på att den gick att hammra på 20 olika spikar, men inte precis den modell han tänkt använda, så är det nog rätt skönt att kunna justera in hammaren än att blindt invänta eventuellt stöd i tillverkarens Hammare 2.0. :)

Mvh
speakman
Skriv svar