Hur hittar man funktionsbibliotek till PIC?

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
marcushofflander
Inlägg: 50
Blev medlem: 17 mars 2016, 15:02:14

Hur hittar man funktionsbibliotek till PIC?

Inlägg av marcushofflander »

Hej.
Jag har programmerat många olika språk och aldrig haft problem med att hitta instruktioner och förklaringar om funktioner som finns till språket, speciellt inte efter jag hittade denna sida, rekommenderas.
http://www.tutorialspoint.com/tutorialslibrary.htm

Men jag hittar ingenting för PIC. Jag programmerar i C men är intresserad av de funktioner som finns till PIC. Jag har sökt på massa olika, gått igenom flera datablad för både chipet men också compilatorer. Hittar inget som är till större nytta.
Man kan hitta saker lätt till PIC om man vet vad man letar efter, men jag vill läsa om det jag inte redan kan.

Några förslag? För det MÅSTE ju finnas.

Jag kör för övrigt PIC18F4550. Använder mig av IDE MicroC Pro for pic.

Jag hittade något på väg i programmet MicroC Pro med funktionen Library manager, men jag kan fortfarande inte hitta förklaring till tex readcoretimer().
Användarvisningsbild
Icecap
Inlägg: 26139
Blev medlem: 10 januari 2005, 14:52:15
Ort: Aabenraa, Danmark

Re: Hur hittar man funktionsbibliotek till PIC?

Inlägg av Icecap »

Vilka funktioner söker du?

Är de sådana funktioner som lockar fram en usel programmeringsskick?
Eller några faktisk användbara funktioner?

Är det MikroC Pro du använder?
marcushofflander
Inlägg: 50
Blev medlem: 17 mars 2016, 15:02:14

Re: Hur hittar man funktionsbibliotek till PIC?

Inlägg av marcushofflander »

Jag är intresserad av alla! Jag är inte intresserad av att bli en usel programmerare.
Starta med alla standardiserade som ANSEL, TRIS, PORT osv (Jag kan inte så mycket vad som tillhör PIC än) och sedan om nödvändigt andra funktioner.

K som i kalle i mikroC. Precis
Användarvisningsbild
Icecap
Inlägg: 26139
Blev medlem: 10 januari 2005, 14:52:15
Ort: Aabenraa, Danmark

Re: Hur hittar man funktionsbibliotek till PIC?

Inlägg av Icecap »

Du lär knappast behöva ett funktionsbibliotek för att skriva till t.ex. TRIS. I C skriver man:
TRISx = <0x??>; eller TRISx = <decimaltvärde>; eller TRISx = 0b<bitmönster>.

Om du menar definitionerna av bits & bytes finns de jo i .H-filen som tillhör den valda µC.

Och i databladet finns det mycket information - faktisk ovärderlig information - varför du bör hämta hem och spara det.
marcushofflander
Inlägg: 50
Blev medlem: 17 mars 2016, 15:02:14

Re: Hur hittar man funktionsbibliotek till PIC?

Inlägg av marcushofflander »

Jag omformulerar om min fråga.

Jag ska bli grym på Pic. Finns det någon bra hemsida som har all information lättillgängligt tex som utförligt förklarar alla funktioner som kan användas till olika pic?
Anser du dig duktig på pic, hur gick du tillväga för att lära dig det du kan? Har du lyckats hitta något bra verktyg som hjälper dig hitta funktioner du inte visste fanns?
Jag studerar på högskolan nu så tipset att läsa är inget jag behöver, jag är intresserad av VAD jag ska läsa, vad jag ska googla på för komma åt bästa möjliga svar. När jag läser någonting, vad ska jag lägga kraft på att hitta? Ska jag lägga så mycket kraft på att förstå skillnaden på en pic och atmel nu i startskedet eller är det bättre att lära sig vad de ha gemensamt? Att läsa datablad har jag försökt med, jag vet bara inte VAD jag ska leta efter, vad i dessa 400+ sidor är smartast att lägga på minnet i startskedet.
Mitt mål är att jag ska bli grym på Pic, vad finns det för tips på verktyg som speedar upp mitt lärande av detta?

.h-filerna var ett bra tips!
Användarvisningsbild
Lennart Aspenryd
Tidigare Lasp
Inlägg: 12607
Blev medlem: 1 juli 2011, 19:09:09
Ort: Helsingborg

Re: Hur hittar man funktionsbibliotek till PIC?

Inlägg av Lennart Aspenryd »

Grym formulering av en väg!
Hoppas att målet är nåbart!

IceCap har nog lärt sig den riktigt hårda vägen!
Du vet, bränt barn skyr elden, har man missat en avkoppling och måste stå i taskigt väder ute och byta kort.
Då gör man mer än rätt nästa gång. ;-)

Men vilka PIC exempel tycker du ger mycket? Fundera på bra exempel. Brytpunkter mellan stora, snabba och små projekt!
Vet man när det skall det användas är man en bit på väg.

PS/ Jag kan ge dig två råd.
1. När du är färdig, dokumentera och gör om!
2. Härma och förstå!
3. Gå till ett.
Senast redigerad av Lennart Aspenryd 20 april 2016, 10:11:30, redigerad totalt 1 gång.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 45272
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Hur hittar man funktionsbibliotek till PIC?

Inlägg av TomasL »

Du hittar alla funktioner i databladen för resp processor, nått annat finns det inte.
Biblioteksfunktionerna hittar du i kompilatorns/IDE´ts hjälpfiler.
Exempelkod och extra funktionsbibliotek hittar du på Microchips hemsida, samt troligen hos dem som tillverkar din kompilator/IDE.
Beträffande C så är väl K&R´s bok bibeln för just C samt återigen din kompilators hjälpfiler.
Användarvisningsbild
sodjan
EF Sponsor
Inlägg: 43178
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping
Kontakt:

Re: Hur hittar man funktionsbibliotek till PIC?

Inlägg av sodjan »

> ...men jag kan fortfarande inte hitta förklaring till tex readcoretimer()

Då har du letat dåligt. En snabb googling ger att ReadCoreTimer() (det
är väl den du menar?) är en funktion som läser den hårdvarutimer som
enbart finns i MIPS kärnan i PIC32 processorerna.

> Jag ska bli grym på Pic.

PIC.

Att bli "grym på PIC" handlar inte speciellt mycket om PIC som sådan.
Det handlar mer om att lägga de närmaste 10 åren på att bli bra på
elektronik och programmering i kombination. Kör på bara, och om du
har förutsättningarna så kommer du att bli "grym" med tiden...
Användarvisningsbild
Icecap
Inlägg: 26139
Blev medlem: 10 januari 2005, 14:52:15
Ort: Aabenraa, Danmark

Re: Hur hittar man funktionsbibliotek till PIC?

Inlägg av Icecap »

marcushofflander: jag har - som Lasp skriver - lärt mig den hårda vägen.

Jag har nött datablad i mängder och sedan tagit en funktion åt gången och läst-programmerat-testat-upprepa i evigheter.
Efter det vet jag exakt vad hårdvaran gör och det har i sin tur gjort att jag lätt tar till mig vad andra fabrikat gör osv. Självklart har jag sedan kopierat friskt från välfungerande projekt och inte sällan skapat färdiga rutiner för att göra specifika uppgifter.

Det kan vara start av UART med/utan interrupt osv, starta en timer, CCP eller liknande, inte för att det är svårt eller tungt på en PIC men för att det är enkelt och snabbt och att jag kan vara säker på att det fungerar så att jag kan använda fokus och kraft på riktigt problem och utmaningar.

Detta har jag sedan gjort steg för steg, funktion för funktion.

Att bli virtuos kräver ~10.000 timmars övning så det är bara att börja.

Nu använder jag mest Renesas RX210 och har skapat ett funktionsbibliotek som är anpassat till det styrkort vi använder nu. Det jobb har tagit runt 3 år men jag har nu lätt att ta fram ett projekt som utnyttjar vilken som helst del av styrkortet som det är designad för att stödja. Vägen dit har varit tung och besvärlig, databladet är på runt 1630 sidor och det finns många "fällor" med säkerhetsregister och annat som verkligen kan ge problem om man inte är mycket van - vilket jag inte var.

Att lära sin <PIC> och alla delrutiner utantill är i grunden lönlöst, det viktiga är att kunde få överblick på vilka funktioner som behövs för att lösa en uppgift och sedan aktivera dessa, använda deras data på rätt sätt och komma i mål.

Detta sätt gör - när man har lite choklad på skjortan - att man kan lösa det meste oavsett vilken processorfamilj man använder eller vilket programmeringsspråk man har tillgång till.

Så att bli PIC-expert betyder att man generellt är usel på andra men att bli hårdvarunära programmeringsexpert är mycket mer användbart.
marcushofflander
Inlägg: 50
Blev medlem: 17 mars 2016, 15:02:14

Re: Hur hittar man funktionsbibliotek till PIC?

Inlägg av marcushofflander »

TomasL skrev:Du hittar alla funktioner i databladen för resp processor, nått annat finns det inte.
Biblioteksfunktionerna hittar du i kompilatorns/IDE´ts hjälpfiler.
Exempelkod och extra funktionsbibliotek hittar du på Microchips hemsida, samt troligen hos dem som tillverkar din kompilator/IDE.
Beträffande C så är väl K&R´s bok bibeln för just C samt återigen din kompilators hjälpfiler.

Mycket bra svar! Tackar.
Kort och mycket tydligt för en nybörjare :)

ALLA ANDRA:
Tack för svaren! Uppskattas, jag tror dock ni överanalyserar eller skapar sugrörsseende på enskilda ord och menar. Jag är nybörjare och vill lära mig så mycket som möjligt, de funktioner jag skrivit som exempel är inte de jag är intresserad av då jag redan vet att de finns, annars hade jag aldrig kunnat skriva dom, de är registren och funktionerna jag INTE skrivit som är intressanta.
Men fortfarande uppskattar jag era svar! Det är inte det jag säger!
Att många års arbeta gör att man bli bättre på något förstår jag men det känns onödigt att uppfinna hjulet om och om igen så därav förfrågan om verktygen som underlättar.
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.
Men ytterligare igen. Jag uppskattar era svar! Ni har kunskapen jag inte har, jag menar bara att svaren känns för avancerade för mig som nybörjare. Hade jag skrivit detta för 10 år sen hade jag nog slutat med PIC direkt för jag läser era svar som "Detta är sjukt avancerat och du kommer först fatta något om 10 år, GLHF". Som tur är så vet jag att det inte behövs avancerat för att en nybörjare ska bli nöjd och fortsätta. Jag blir fortfarande upphetsat av Blink liksom.
Och igen (För man kan inte uppfatta tonläge i text) så är jag glad för era svar och den tiden ni la på dom har inte varit onödiga!
Användarvisningsbild
gustavn
Inlägg: 297
Blev medlem: 30 november 2004, 12:27:05
Ort: Linköping
Kontakt:

Re: Hur hittar man funktionsbibliotek till PIC?

Inlägg av gustavn »

Om du inte måste köra MikroC pro IDE så finns ju mplabx. Och till microchips relativt nya c-kompilator xc8 finns det ett gäng library funktioner.

Googla t.ex på "xc8 user guide" så hittar du information om library funktionerna i appendix A.

Och Mplabx IDE fungerar bra tycker jag så den vill jag rekommendera att du provar
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 45272
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Hur hittar man funktionsbibliotek till PIC?

Inlägg av TomasL »

Egentligen fattar jag inte rilktigt vad du är ute efter.
Varken Arduino eller STAMp är några processorer utan kompletta utvecklingskort med tillhörande utvecjklingssystem där man fullständigt gömt processorn,
PIC är en processor och inget annat. Den har inga funktioner per se, utan ett antal hårdvarumoduler vilka har vissa dedikerade funktioner, hur dessa hårdvarumodulerr fungerar beror på exakt vilken processor du väljer att jobba med, och dess egenskaper kan variera väldigt mycket mellan olika processorfamiljer.

När d skriver ett program i C så manipulerar du dessa hårdvarumoduler på olika sätt, och exakt vilka sätt du kan manipulera och använda modulerna på är fullständigt processorspecifikt för just den processorn du valt.

Sedan finns det säker massor med "tutar" hur du blinkar lysdioder mm på nätet, samt att Microchip har rätt mycket exempelkod på sin hemsida.
Användarvisningsbild
Lennart Aspenryd
Tidigare Lasp
Inlägg: 12607
Blev medlem: 1 juli 2011, 19:09:09
Ort: Helsingborg

Re: Hur hittar man funktionsbibliotek till PIC?

Inlägg av Lennart Aspenryd »

Mitt råd om att härma är att ta något som finns, gör om varje bit för dig själv och förstå, eller fundera.
Det är alltid exemplen ikring en pryl som lyfter fram möjligheterna.

När jag missionerade för programmering, längesedan, i Basic fick jag kommentaren Vad kan man göra med så få kommandon!
Sick
Hur många melodier kan man spela på ett Piano? Med begränsat antal svarta och vita stickor i klaviaturen!
En kompis, som var väldigt duktig på Basic ville inte ens titta på C, man kunde ju göra så mycket med det!
Användarvisningsbild
Swech
EF Sponsor
Inlägg: 4694
Blev medlem: 6 november 2006, 21:43:35
Ort: Munkedal, Sverige (Sweden)
Kontakt:

Re: Hur hittar man funktionsbibliotek till PIC?

Inlägg av Swech »

Om du skall köra C så spelar det mindre roll vad det är för processor i botten. PIC, AVR, Renesas... whatever

Skall du bli grym på PIC så är det alltid bra att kika på hur det hela fungerar låååångt ned i nivåerna.
Man får kika på instruktioner och uppbyggnad helt enkelt.
Assembler är i sig inte att förakta då man verkligen får en förståelse för hur det funkar under huven.

Men om man vänder på frågan, vad är det som lockar... vad skulle du vilja bygga för någon cool pryl
eller är det att krama skiten ur själva chippet som hägrar?

Swech
Användarvisningsbild
Icecap
Inlägg: 26139
Blev medlem: 10 januari 2005, 14:52:15
Ort: Aabenraa, Danmark

Re: Hur hittar man funktionsbibliotek till PIC?

Inlägg av Icecap »

"Jag är sjukt förvånad att PIC, som är fruktansvärt stort, inte har dessa genvägar."

OK - du ämnar alltså att programmera utan att veta vad den egentligen gör. Om du letar lite i trådarna här i forumet finns det en hel del av typen "det skiter sig, vad göra?" och där det visar sig att dessa "hjälpsamma lösningar" i själva verket har stjälpt projektet.

Att kalla in en funktion för att t.ex. starta en UART känns en del överkurs när det i själva verket rör sig om att skriva till kanske 6 st register och då kör den.

min åsikt är att du kanske skulle ta ett steg tillbaka och ha verkliga visioner istället för att tro att du ska flyga högt från första start. Med PIC kommer man mycket snabbt igång, det finns ypperligt stöd många ställen och de är inte så avancerat att det tar en vecka att blinka en LED.

Man kan göra väldigt avancerade saker med PIC (och andra µC för den delen) men det kräver att man själv kan lösa uppgiften, utan det är det inget sätt det kan fungera på, oavsett vilka funktioner andra har skrivit.
Skriv svar