Hur hittar man funktionsbibliotek till PIC?

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Hur hittar man funktionsbibliotek till PIC?

Inlägg av sodjan »

> Om man kollar på hemsidan jag länkade i startinlägget...

Varför skulle någon hemsida från ett företag i Hyderabad vara något
slags absolut sanning till vilka eventuella tutorials det finns till något?

> ...för jag läser era svar som...

... fan läser bibeln. :-)

> "Detta är sjukt avancerat och du kommer först fatta något om 10 år..."

För det första så svarade ingen så, för det andra var svaren givna mot bakgrund
av att du säger att "Mitt mål är att jag ska bli grym på PIC...". Ingen blir "grym" på
någonting genom genvägar. Däremot så finns det många som är duktiga ändå, och
det kan säkert du också bli och, med en lite mer ödmjuk attityd, kanske t.o.m "grym"...

(GLHF, är det någon ny diet?)
Användarvisningsbild
lillahuset
Gått bort
Inlägg: 13969
Blev medlem: 3 juli 2008, 08:13:14
Ort: Norrköping

Re: Hur hittar man funktionsbibliotek till PIC?

Inlägg av lillahuset »

Du kanske ska tänka om lite och börja köra Python på en Cortex M4 om det inte är just assembler för PIC du vill bli "grym" på.
https://www.youtube.com/watch?v=5LbgyDm ... e=youtu.be
https://micropython.org/
https://micropython.org/store/#/store
http://docs.micropython.org/en/latest/p ... ckref.html

MicroPython har klasser för "all" I/O på kortet. Efter att ha sett klippet på YouTube blir jag faktiskt lite sugen på att köpa ett. Kanske något för sodjan också? :)
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Hur hittar man funktionsbibliotek till PIC?

Inlägg av sodjan »

Jag använder redan Python där det gör nytta för kunden på riktiga datorer...
Användarvisningsbild
lillahuset
Gått bort
Inlägg: 13969
Blev medlem: 3 juli 2008, 08:13:14
Ort: Norrköping

Re: Hur hittar man funktionsbibliotek till PIC?

Inlägg av lillahuset »

OK, tänkte bara att det kanske skulle roa dig. :)
marcushofflander
Inlägg: 50
Blev medlem: 17 mars 2016, 15:02:14

Re: Hur hittar man funktionsbibliotek till PIC?

Inlägg av marcushofflander »

Jag har funderat och funderat och läst och läst och jag tror jag börjat se vad missförståndet är.
Jag kan inte få vad jag vill ha för det är inte så det funkar.
Jag har läst i något datablad "Only 33 commands to learn" (eller liknande).
Är det så att det enda extra kod en µc <---( Jag adapterar :) ) använder sig av är dessa 33 kommandon som på något sätt är tillagt genom en header-fil.
Alltså att all kod som har något med coolPicFunktion() är hemmasnickrat? Att denna funktionen innehåller någon eller några av dessa 33 kommandon i sig?
För det snackas om fulkod och grejer och jag fatta inte vad det handlade om, men med denna förklaring så låter det vettigt.

Kan det vara så?
marcushofflander
Inlägg: 50
Blev medlem: 17 mars 2016, 15:02:14

Re: Hur hittar man funktionsbibliotek till PIC?

Inlägg av marcushofflander »

sodjan skrev:>
Ingen blir "grym" på någonting genom genvägar...
Det skapas genvägar hela tiden som gör att man slipper uppfinna hjulet på nytt hela tiden. Binär kod blir assable som fortsätter mot C som sedan blir C++ osv...
Det jag menade var att det skulle vara onödigt att plöja mängder med datablad som handlade om något som inte var av värde bara för att jag inte visste om att det inte fanns något värde att plocka.
sodjan skrev:>
"Detta är sjukt avancerat och du kommer först fatta något om 10 år..."
För det första så svarade ingen så...
Näpp, det var därför jag skrev att jag upplevde det så.
Sen förstår jag inte varför så många reagerade på att jag vill bli grym på PIC. Skulle jag börja med att säga att jag önskar att jag möjligen skulle kunna bli aningen bekant med PIC. Nä. Jag har målet att det är mig man frågar här på forumet. Så bra vill jag bli. Möjligt eller inte men det är mitt mål.
Varför jag skulle bli mer ödmjuk utåt med mitt mål förstår jag inte. Hade jag sagt att jag var bättre än er, då förstår jag att jag skulle behöva bli mer ödmjuk, men att jag vill bli bättre än er. Hade jag varit den som fick någon som förebild så hade jag ju gjort allt jag kunnat för att denna skulle lyckas, men det är kanske bara jag.

GLHF = Good luck have fun
Kompis med LoL, WTF, ROFL och dedär orden. Tror väll Yolo har hoppas med där också :)
Användarvisningsbild
Icecap
Inlägg: 26647
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Hur hittar man funktionsbibliotek till PIC?

Inlägg av Icecap »

En PIC har ung. 33 assembler-kommandon, antalet varierar lite med exakt version.
Det är allt den kan göra.

Men det har betydelse enbart om du ämnar att programmera i assembler, inte annars.

Se dom som bokstäver i ett alfabet: du kan aktivera dom men du måste likaväl skriva rätta orden i rätt ordning för att det ska fungera som tänkt.

I C och andra högre nivåer språk är det redan gjort för dig, det finns färdiga rutiner för att t.ex. multiplicera två värden osv. De är såklart byggt av dessa assemblerinstruktioner, de är ju vad PIC'en kan göra.

Men i C är det utan betydelse, A = B * C gäller fortfarande, oavsett hur det räknas ut "under the hood".

Ämnar du att lära dig assembler på expertnivå är det ung. liga "enkelt" som att lära sig C på samma nivå: det är inte vilka kommandon som finns som är viktigt, det är sättet man löser en uppgift på som är grejen.

Jag har programmerat en del olika språk och resultatet är att jag numera inte fokuserar på språket men på uppgiften, hur jag får in de data som behövs, hur de ska tolkas och hur ut-resultatet ska formas.

Sedan tar jag en manual över språket och letar efter de bas-funktioner som gör vad jag behöver. Jag programmerade Ci-Code på det vis i början och det fungerade utmärkt efter att jag hade rensat lite buggar här och där men tiden från att få uppgiften till färdigt resultat var klart godkänd även utan att ta hänsyn till inlärningströskel osv.

Att lära assembler-instruktionernas innebörd är inte svårt - men det betyder inte att man kan se sammanhang av den anledning.

EDIT: Ovanstående med assembler osv. är inte enbart gällande för PIC men för alla µC.
Hela idén med t.ex. C är att det finns en standard som gör att man kan byta ut µC till en helt annan typ/fabrikat/"storlek" och ändå - i stort - få samma funktion.

Självklart är det vissa skillnader om man styr hårdvaran men dessa kan man enkelt ändra, resten av t.ex. uträkningar och dylikt är identiskt.
Senast redigerad av Icecap 20 april 2016, 17:59:39, redigerad totalt 1 gång.
Användarvisningsbild
lillahuset
Gått bort
Inlägg: 13969
Blev medlem: 3 juli 2008, 08:13:14
Ort: Norrköping

Re: Hur hittar man funktionsbibliotek till PIC?

Inlägg av lillahuset »

De tidigaste PICarna hade nog ungefär 33 olika instruktioner men den du refererar till verkar ha 83 instruktioner. Antalet instruktioner är inte så viktigt och man behöver definitivt inte lära sig hela instruktionsuppsättningen. Jag kunde nog hela uppsättningen när jag programmerade PIC innan det fanns flashbaserade kretsar. Dvs strax efter dinosaurierna dog ut.

Jag programmerar för ARM flera gånger i veckan men kan egentligen inte någon maskininstruktion utantill däremot vet jag vad jag ska leta efter i dokumentationen och läser emellanåt listningar genererade av C-kompilatorn och får lära mig något nytt. Det viktiga är att förstå dokumentationen och att lära sig leta. Det sistnämnda kan vara svårt när man byter tillverkare eftersom alla har en egen uppfattning om hur dokumentation ska se ut.

Det som är viktigt är att man kan läsa dokumentationen för hela processorn, speciellt periferienheterna.

Häng inte läpp, det här kommer nog att gå bra. :)

Och Icecap var snabbare än jag med ungefär samma budskap. :)

Edit: PIC16C52 var min första PIC. Lillebror till den här, men 256x12 EPROM, 25 byte RAM och tillgänglig som OTP och med fönster.
http://www.microchip.com/wwwproducts/en/PIC16F54
Senast redigerad av lillahuset 20 april 2016, 17:02:09, redigerad totalt 1 gång.
marcushofflander
Inlägg: 50
Blev medlem: 17 mars 2016, 15:02:14

Re: Hur hittar man funktionsbibliotek till PIC?

Inlägg av marcushofflander »

Ok.
Jag kommer inte ge mig på Assable riktigt än.
men då är jag lite klarare om vad vi snackar om.

Vi utgår från C.
Då man programmerar en pic med hjälp av C, då är det vanliga C där ett bibliotek som tillhör den önskade processorn är tillagt. Rätt?
Detta bibliotek är standardiserat för denna processorn av tillverkaren. Eller?
Så om jag vill ta reda på vilka funktioner som är ämnade för just denna processor så är det denna headerfil jag ska leta i, eller något datablad jag inte lyckats hitta än?

Jag är bara intresserad av standarder. Inte allmänna lösningar utan standarder som Microchip har skapat (Eller liknande) så att jag vet att om det blir fel så är det mitt fel och jag kan finna felet.

Men det finns ingen pedagogisk ihopsamling av vad varje registerdel gör eller?
Jag har hittat en del i de datablad jag läst, (Flera olika för Pic18F4550). Vissa förklarade gansak bra Interrupt och så och andra var fruktansvärt svåra att fatta vad man ens tittade på.
Jag har dock inte hittat något som berättar tydligt (för en nybörjare) vad de olika registerdelarna gör och kan kombineras.
Jag kommer ju självklart kopera exempel men det känns ändå konstigt för mig att det inte finns tydligare än vad jag hittar.
Användarvisningsbild
lillahuset
Gått bort
Inlägg: 13969
Blev medlem: 3 juli 2008, 08:13:14
Ort: Norrköping

Re: Hur hittar man funktionsbibliotek till PIC?

Inlägg av lillahuset »

Jag vet inte hur Microchips exempelkod och bibliotek är numera men de var rätt dåliga när jag höll på med PIC. Däremot vet jag att STs dito för STM32F är ganska undermåliga.
zealotry
Inlägg: 919
Blev medlem: 9 oktober 2004, 22:28:40
Ort: Västerås

Re: Hur hittar man funktionsbibliotek till PIC?

Inlägg av zealotry »

Det är en tröskel du måste komma över bara, när du väl gjort det kommer stora delar av databladet vara lätt för dig att läsa.

Jag tycker du komplicerar det hela, hoppa in bara. Börja med något litet enkelt projekt, klassikern blinka en led tex. Sen gå vidare.
jpalsson
Inlägg: 145
Blev medlem: 20 juli 2012, 13:14:41

Re: Hur hittar man funktionsbibliotek till PIC?

Inlägg av jpalsson »

marcushofflander skrev:
TomasL skrev:Du hittar alla funktioner i databladen för resp processor, nått annat finns det inte.
Jag är sjukt förvånad att PIC, som är fruktansvärt stort, inte har dessa genvägar. Om man kollar på hemsidan jag länkade i startinlägget så verkar det ju som alla andra som har med programmeringsspråk att göra har anammat detta, Arduino och Basic Stamp och många andra system har det också. Hur kan det komma sig att PIC inte har det? Visst det finns många forum som svarar på allt inom PIC, men inget som samlar all kunskap. Databladen svarar säkert på allt, men de är skrivna för folk som vet vad det står, de är inte skrivna för att nybörjare ska lära sig något.
Det du får tänka på är att det är två olika spår, ett industriellt spår och ett hobbyistspår.

I industrispåret hittar du grundbyggstenarna såsom PIC med tillhörande datablad, dessa tillverkares marknad är först och främst företag
som bygger produkter där processorn ingår och där de som arbetar med dessa processorer förutsätts ha en stor vana av elektronikkonstruktion och att använda datablad.
(mycket i elektroniken värld handlar ju om att läsa och tolka datablad).
Det finns liksom inget riktigt skäl för tillverkarna att tillverka en nybörjarmanual eftersom kunderna redan kan miljön och istället har
andra mycket mer specifika frågeställningar som exempelvis rör de elektriska interfacen, timing osv..

Sen, i hobbyistspåret hittar du exempelvis Arduino med sin förenklade programmeringsmodell och ett stort community.
Det här communitiet består (nu generaliserar jag grovt) till 99% av människor som kan högnivåutveckling men väldigt lite micropressorteknik eller elektronik överhuvudtaget.
Men, de har ändå idéer men har dock inte kunnat realisera dem förrän nu genom enkelt programmerbara utvecklingskort som inte kräver stora kostsamma utvecklingsmiljöer, olika snap-in interfaces och en massa människor som hjälper varandra genom att dela kod och kopplingsscheman.

Men, visst, jag kan hålla med dig, för de som inte växt upp i assemblergenerationen så blir det en ganska hög inlärningströskel.
marcushofflander
Inlägg: 50
Blev medlem: 17 mars 2016, 15:02:14

Re: Hur hittar man funktionsbibliotek till PIC?

Inlägg av marcushofflander »

Ok.
Det låter ju rimligt.
Så vad låter klokast? Bör jag ta och satsa mer krut på Arduino för grunderna av Microcontrollers och sedan avancera mot Pic då jag har mer kött på benen eller ska jag genomlida en dimma ett tag för att sedan kunna programmera pic? Är dimman värt det?

Jag siktar på att på något sätt jobba med robotar till slut (ej bestämt om de ska vara mot industri eller AI)
Senast redigerad av marcushofflander 20 april 2016, 17:56:24, redigerad totalt 2 gånger.
Användarvisningsbild
lillahuset
Gått bort
Inlägg: 13969
Blev medlem: 3 juli 2008, 08:13:14
Ort: Norrköping

Re: Hur hittar man funktionsbibliotek till PIC?

Inlägg av lillahuset »

Användarvisningsbild
Icecap
Inlägg: 26647
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Hur hittar man funktionsbibliotek till PIC?

Inlägg av Icecap »

marcushofflander: i grunden är det synnerligt likgiltigt vilken familj du inriktar dig emot.

Jag började med Z80 i sin tid (way back, nog innan du blev född [1983]) och har stapplat mig genom ett antal olika µC och för varje steg har jag abstraherat mig lite från hårdvaran och fått ett annat blick på det.

Numera antar jag att ska man fånga pulser i tid bör det vara någon Capture-liknande funktion i den µC som ska användas, hur den används är - just under planeringsfasen - likgiltigt, den är är och kan jobbet får man anta. Behöver man en UART och den finns i µC'n ska man nog få gång i den - och undrar hur många bits µC'n räknar med i övrigt..?!

Och på den vägen är det, är det en µC jag inte "känner" får jag nöta datablad och ställa funktioner rätt och verifiera det, sedan när alla är på plats är det bara att programmera.

Även med de µC jag "känner" nöter jag datablad i mängder och mitt vetande baseras i mångt och mycket på det bibliotek av datablad jag har på hårddisken. Jag har liggande 2,9GB PDF-filer i min databladssektion på hårddisken, jag kör mycket ofta med två skärmar för att ha databladet på den ena och programmet på den andra osv.

Så de genvägar/smidiga lösningar du verkar tro det finns är dom som man skapar själv och möjligen i viss mån "ärver" från andra.

Men nu har jag byggt upp ett solitt bibliotek av funktioner som passar på det jobb jag utför och då är resten enkelt. Jag använder väldigt mycket en interruptstyrd utskrift på seriella portar och det sätt det kör på har jag använd till PIC16, PIC18, Fujitsu FFMC16LX och Renesas RX210 utan ändring förutom anpassningen till de exakta hårdvaruregister som ju skiljer.
Skriv svar