Sida 3 av 4
Re: Hur hittar man funktionsbibliotek till PIC?
Postat: 20 april 2016, 21:02:25
av TomasL
marcushofflander skrev: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?
Nej det behöver du inte heller, syntax mm för de olika HW-Specifika biblioteksfunktionerna är beskrivna i hjälpfilerna till biblioteket i fråga.
Biblioteken är skrivna på sådant sätt att de fungerar för alla processorer som har hårdvaran ifråga, däremot måste man ju läsa i databladet för processorn ifråga för att få reda på vilken hårdvara den har.
marcushofflander skrev:
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.
Vad menar du med det?
marcushofflander skrev:
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.
Jo det finns mängder av information på nätet.
På min manualserver finns det bl.a. ett dokument som heter "The Quintessential PIC Microprocesor" vilket någorlunda hyffsat förklarar en hel del om PICarna.
Dock är dokumentet rätt gammalt och man använder tidiga numera icke-aktuella processorer i sina exempel.
Men det spelar mindre roll, för med undantag av PC32/PIC30/PIC24 och dsPIC så funkar alla i princip likadant som de gjorde när första PIC-processorn kom, på 70-talet (eller när det nu var).
Vad de olika registren och HW-modulerna gör beskrivs för det mesta väldigt tydligt i databladet, MEN man måste ofta ha bakgrunskunskap för de olika grejjorna.
Exempelvis gällande UARTen så behöver man nog veta vad en UART är och hur den fungerar för att förstå databladet, samma gäller exempelvi AD-omvandlare osv.
Gällande databladen så finns de oftast i två typer, dels familjedatabladet som beskriver de gemensamma funktionertna för varje Processor-familj och dels kan det finnas processorspecifika datablad för en specifik processor (med undantag för PIC32) där det finns en hel uppsjö med olika beskrivningar.
Re: Hur hittar man funktionsbibliotek till PIC?
Postat: 20 april 2016, 21:14:50
av lillahuset
Om jag minns rätt var det GI som som skapade PICen någon gång på sjuttiotalet. Själv började jag min bana i slutet av sjuttiotalet med 6800. Snart dags för hemmet.

Re: Hur hittar man funktionsbibliotek till PIC?
Postat: 20 april 2016, 21:18:33
av TomasL
Stämmer, därav namnet Peripheral Interface Processor.
Deras egna processor var så dålig på IO till perifera enheter, så de skapade PICen som en hjälp-processor till deras egna processor, men det visade ju sig snabbt att man kunde använda den till annat.
Re: Hur hittar man funktionsbibliotek till PIC?
Postat: 20 april 2016, 22:13:55
av jpalsson
marcushofflander skrev: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?
Svårt att säga, det beror mycket på vilka du kan rådfråga när du kör fast.
Själv är jag också uppfödd med Z80 som Icecap och har även arbetat som Z80-programmerare.
Men när jag började vilja lära mig assembler vid 15 års ålder så fattade jag inte ett jota av böckerna (ex. programming z80) och de datablad jag lyckats få tag i.
"Räddningen" för mig var en snickare som extraknäckte som ABF-lärare och av en händelse var en fena på just Z80-programmering.
Han hade tålamod och gav mig råd när jag fastnade och inte förstod.
Google må vara bra, men en erfaren "mentor" är egentligen vad du behöver.
(och hittar du en i närheten, välj den processor som han/hon kan ge råd om, lås dig inte till PIC, det är en av flera tillverkare)
Men, om du inte sysslat med elektronik så är förmodligen den biten som du kommer att få lägga tid och frustration på.
Programmeringen (oavsett om det är en Arduino eller en Pic) är det enkla (dessutom om du redan kan ett programspråk) i det här.
Varför inte testa båda ?
Arduino är ju tacksam för att det lätt går att komma igång och det är lätt att googla fram en kodsnutt och en inkopplingsanvisning för exempelvis
en tempgivare eller ett servo.
Men, allt sånt som är förenklat har också ramar som kan vara nog så krångliga att ta sig igenom.
(men, så är det ju med ramverk, när man slår i taket så blir allt jättejobbigt).
Jag menar, har du exempelvis kopplat upp en Arduino mot ett par servomotorer och vet att den elektriska kopplingen är riktig
och allt funkar, då är det ju inget större problem att sätta in en PIC och sedan skriva koden för att göra samma sak.
Re: Hur hittar man funktionsbibliotek till PIC?
Postat: 21 april 2016, 00:01:00
av sodjan
> Stämmer, därav namnet Peripheral Interface Processor.
Fast det blir ju inte P-I-C...

Lite nätsökande ger "Peripheral Interface Controller".
Men bakgrunden stämmer ju i alla fall...
Re: Hur hittar man funktionsbibliotek till PIC?
Postat: 21 april 2016, 06:31:46
av TomasL
Oops my bad så är det.
Re: Hur hittar man funktionsbibliotek till PIC?
Postat: 21 april 2016, 12:01:52
av marcushofflander
TomasL skrev:
marcushofflander skrev:
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.
Vad menar du med det?
Tänker i banona med standardbibliotek till tex C. C är ju egentligen bara runt 20 olika funktioner som man sedan kombinerat och skapat mer komplicerade funktioner med.
Tänkar att det finns till PIC också men där det inte är hemmabyggen utan någon större organisation som styrt upp det, en garanti att det fungerar.
Även fall det sägs att jag bör lära mig vad varje registerdel gör så ser jag en start med färdiga funktioner också, som man sedan kan läsa och se hur denna funktion är uppbyggd och då förstå vilka samband de olika delarna har.
TomasL skrev:
marcushofflander skrev:
Men det finns ingen pedagogisk ihopsamling......
Jo det finns mängder av information på nätet.
Jo, men oftast behöver man veta vad man ska leta efter för att hitta det. Jag ska ta en kik på dendär The Quintessential PIC
Microcontroller. Tackar.
Re: Hur hittar man funktionsbibliotek till PIC?
Postat: 21 april 2016, 12:13:38
av lillahuset
Din bild av C är i mitt tycke ganska konstig. Kan du programmera i C?
Re: Hur hittar man funktionsbibliotek till PIC?
Postat: 21 april 2016, 12:18:35
av marcushofflander
Så min sammanfattning av detta är:
Jag bör kunna underhålla mig själv ett längre tag och stegra i färdighet med god hastighet om jag jobbar med
*
http://dsp-book.narod.ru/QPIC.pdf (Massa kunskap om PIC)
*
http://ww1.microchip.com/downloads/en/D ... 39632e.pdf (Det chip jag kommer använda Pic18F4550)
*
http://www.mouser.com/ds/2/272/mikroc_p ... -14917.pdf (Manualen för MikroC)
*(FILEN LADDAS NER DÅ DU TRYCKER PÅ DENNA LÄNK, (.txt))
https://www.microchip.com/forums/downlo ... e=1;733589 (Pic18f4550 Header)
Och dessutom följer andras arbeten via Youtube och andra medier.
Något som jag bör lägga till?
Re: Hur hittar man funktionsbibliotek till PIC?
Postat: 21 april 2016, 12:20:14
av marcushofflander
lillahuset skrev:Din bild av C är i mitt tycke ganska konstig. Kan du programmera i C?
Jag fick högsta betyg på KTH's grundläggande C-kurs, så grunderna har jag väll lite koll på.
Hur bör jag tänka C som?
Jag har grunderna för Java, C++, Basic och nu C.
Re: Hur hittar man funktionsbibliotek till PIC?
Postat: 21 april 2016, 12:22:37
av Icecap
C är det inget problem med men ditt konstanta "finns det ingen genvägar" och "är det ingen funktionsbiblioteker" ger en del (däribland jag) en tanke på att du inte riktigt har greppat speciellt bra vad det rör sig om.
Re: Hur hittar man funktionsbibliotek till PIC?
Postat: 21 april 2016, 12:23:34
av marcushofflander
Det är mycket troligt.
Jag är trotts allt nybörjare.
Jag har programmerat mycket Basic Stamp och en del Arduino, så jag har antagit att Pic skulle vara något likt. Men jag har förstått med många meddelanden att så inte är fallet.
Re: Hur hittar man funktionsbibliotek till PIC?
Postat: 21 april 2016, 12:24:03
av Swech
Lite låg blodsockernivå i denna tråd......
marcushofflander, jag förstår vad du är ute efter. Men det funkar inte så med PIC. Inga andra processorer heller för den delen.
Du försöker att få PIC att fungera på samma bekanta sätt som ren C
men det som du hittar exempel på är på en helt annan detaljnivå i processorn.
Jämför med att du hela livet åkt tåg och en dag köper en bil
men blir förvirrad över att det inte följde med någon tidtabell eller finns väl definierade hållplatser för din bil att ta sig till.
Däremot så kommer din bil att erbjuda helt andra möjligheter som man aldrig hade med tåget....
Swech
Re: Hur hittar man funktionsbibliotek till PIC?
Postat: 21 april 2016, 12:30:44
av Icecap
Swech: bra vinkel! Jag hade inte tänkt i de banor men nu är det ju självklart.
marcushofflander:
Det går att uppnå det abstraktionsnivå men det kräver att du skapar förutsättningarna för det.
Alltså om du vill kunde skriva/läsa UART'en måste du initiera den rätt och skapa en rutin med ett interface som passar ditt övriga programmerande.
Detta kan verka tungt till en början men det har en fördel: minne och datorkraft är inte - som i en PC - stort och vid att sätta bits & bytes rätt får man en uppfattning om vilka resurser som finns.
Men har du specifika problem kan du få mycket hjälp, här och andra ställen.
Re: Hur hittar man funktionsbibliotek till PIC?
Postat: 21 april 2016, 12:31:49
av marcushofflander
Ja, det kommer mer och mer till mig att jag har tänkt helt fel.
Ang blodsockret så får man ta det med en nya salt. Svårt att uttrycka sig bra med bara text, och dessutom blir det ju extra otrevligt om läsaren väljer att läsa det otrevligt. Sen tror jag det ligger i en teknikers/ingenjörs/dylikt natur att bli lite irriterad på de som inte fattar

Läste en tråd med en annan fråga här på forumet, DÄR kan jag lova att sockret var utbytt till bensin. Det fanns ingen tanke på att försöka bli trevliga igen.