Sida 1 av 4
Börja med PIC kretsar!
Postat: 5 april 2007, 09:22:23
av MADZerQ
Hej
Jag har en fundering på att börja programmera PIC kretsar men har aldrig hållit på med det och har kollat lite på assambler programmering.
Det verkar vara mycket svårt för mig men kollade runt lite och läste här att det även finns Basic programmerare.
Hur klarar sig man med det i frågan om avancerade funktioner?
Hur likt exempelvis Visual Basic är det?
Annars om man måste välja assambler så vore det ju bra om det fanns böcker på svenska om just assambler för PIC's.
Alla tips välkomna.
Postat: 5 april 2007, 09:29:58
av Icecap
Välkommen!
Bra beslut att börja med PIC och hoppa över det dyra och totalt onödiga steg med Basic Stamp och liknande!
En programmerare är den enhet som överför programmet från PC'n där man skriver det till PIC'en. Jag vill tungt rekommendera WISP628 som sodjan i detta forum säljer, billig, bra och synnerligt välfungerande, supporten är till 5 stjärnor i Guide Michelin.
Och snälla.... GLÖM BASIC!!!! VB som det används av M$ har knappast något med BASIC att göra.
Ska du LÄRA dig är assembler vägen att gå, vill du ha högnivåspråk är C ett mycket bättre val.
Hur avancerat funktioner den klarar beror på dig och din programmering, OAVSETT om det är assembler, C eller *ryyyyys* BASIC.
Så programmeringsspråk är hur man skriver programmet och programmeringsenheten är den enhet som lägger in resultatet i kretsen. Fall inte i frestelsen att köpa ett Velleman K8048-(s)kit, det SUGER fett!
Postat: 5 april 2007, 09:42:50
av Noxin
Om Vellemans device beter sig som du påstår kanske det passar bra när man ska renovera hjullager på bilen?
/Klas
Postat: 5 april 2007, 09:46:52
av MADZerQ
Ja programmerare har jag redan. Ja c++ har jag donat lite med, kanske enklare att börja i den änden såfall.
Men måste frågan varför basic inte är något bra val?
Har programmerat mycket i det och känner mig ganska hemtam med det. Har betydligt mindre på fötterna när det kommer till C++ eller liknande språk.
Postat: 5 april 2007, 10:27:34
av squiz3r
Noxin:

Man borde kanske mala ner sådan kort, o lägga de i tvål. Sen kan man sälja den tvålen DYRT till mekaniker m.m.
//Daniel A
Postat: 5 april 2007, 10:37:51
av Icecap
MADZerQ: BASIC suger för att det är "omöjligt" att göra bra struktur i och när du tänkar på VB har det knappast något med BASIC att göra, strukturen är C/Pascal och en del kommando är BASIC-liknande.
C++ i all ära men kan du programmera ANSI C?
PIC16-serien har 36 olika kommandon (eller var det 34? skit samma) och om du tror att du enkelt kan stega från PC(-liknande) miljö till mikroprocessormiljo á la PIC/AVR lär du nog få en överraskning, det finns inte alls dessa resurser och man ska de-facto göra ett minimalt OS för varje projekt.
Å andra sidan har man jäkla mycket mer kontroll på vad som händer (eller bör ha iaf.) och vad som ska göras åt dessa händelser.
Postat: 5 april 2007, 10:46:16
av MADZerQ
Nopp, om det inte har det minsta liknelse med C++, då kan jag ingenting av detta. Ok då vet jag varför Basic är dåligt.
Så svårt när man vill börja med något och man är Bambi på hal is...

Postat: 5 april 2007, 10:57:31
av Icecap
Jovars, det kan bli svårt men sedan är det skitkul! Se bara på Stampe
ANSI C ("original" C) är mycket likt C++ eller rättare: C++ är ANSI C med tillägg (därav ++). ANSI = American National Standarts Institute
Många kommandon är exakt lika men klasser osv. finns inte.
Vill du åstadkomma funktioner snabbt kan MikroC vara en väg, vill du lära dig "på riktigt" är det assembler som gäller. Vad som kan vara svårt för alla men svårast för nybörjare är alla inställningar som ska göras, bit som ska flippas och alla förutsättningar som ska göras klart INNAN man kan börja att utföra något.
T.ex. UART (serieport), den ska ställas i rätt läge, ha prescaler och baudrate-registre till rätt värden, interrupt enabled (om man använder sånt), ställd in datalängd, async osv osv.
Minneslokationer är inte noll när man slår på kretsen, MÅSTE de vara det vid uppstart måste man alltså nolla dom. Det finns mycket att tänka på men sedan har man FULL tillgång till processorn och dennas resurser och kan göra väldigt mycket med få resurser.
Postat: 5 april 2007, 11:33:19
av MADZerQ
Den snabbare vägen känns bättre, allra helst med tanke på denna lilla tid jag kan lägga ner på detta. Har för mycket jobb jämt så...
Det jag antagligen kommer att vilja börja med är enkla switchar som läser av signalen ifrån en mottagare till R/C bruk och sedan ställer en utgång aktiv beroende på pulsvidden på ingången.
MikroC verkar ju vara lovande så man slipper en del av det krånliga förarbetet. I takt med att man lär sig kanske det blir en övergång till Assambler istället då så man kan utnyttja det rätt.
Det tråkiga med MikroC är att den inte verkar stödja den nya 10C20x versionen av PIC kretsarna. Den är ju flashbaserad så det hade ju varit perfekt för mig.
Postat: 5 april 2007, 11:58:05
av Icecap
10C20x lär knappast vara flashbaserat, då skulle den ha hetat 10F20x
Edit: dessutom har de så lite minne att det knappast kan göras större saker i C, alltså är det assembler som gäller där.
Kan du "kliva upp" till 12F-serien kan du köra med MikroC men även i assembler är det inte så farligt att greja det projekt du beskriver.
Postat: 5 april 2007, 12:04:09
av baron3d
MikroC är bra, skulle nog rekomendera MCC18 och Pic18.
Pic18 är visserligen lite större än Pic10C20x.
Det finns ju färdiga projekt man kan starta med. Så började jag.
Dessa gör att man kan komma i gång lite lättare.
Gjorde detta projektet med tanke på nybörjare. Det är kanske inte det enklaste projektet, men alltid något:
http://biphome.spray.se/frl_linder/PIC1 ... start.html
Postat: 5 april 2007, 12:07:25
av Icecap
Jag kanske var lite otydlig: det finns INGEN PIC10C20x-serie, det finns däremot en PIC10F20x-serie.
Men att gå på PIC18 som uppstartsprojekt kan nog vara lite tungt, speciellt om man vill utföra en specifik funktion som inte finns som färdigt projekt.
Postat: 5 april 2007, 12:19:12
av MADZerQ
Ojdå, mitt misstag, den heter 10F20x.
Hmm, så då blir det ändå Assambler, jaja jag får bita i det sura äpplet och komma igång med det då istället. Då antar jag att det är MPLAB som gäller som programvara.
Valet av PIC är att jag vill hålla ner kostnaden och storleken efter som jag skall använda det i modellflygplan.
Jag kommer att behöva större och avancerade kretsar senare om jag lär mig för då har jag multum med idéer som jag vill göra.
Till krångel för er medlemmar kanske eftersom jag inte är så duktig på varken elektronik eller programmering.

Postat: 5 april 2007, 13:23:24
av Icecap
Vi har alla börjat någonstans!
Jag lever på att programmera och utveckla elektronik och jag har INGEN utbildning inom dessa områden! Jag är utbildad till att reparera elektronik, inte designa den, jag har ingen formell utbildning inom programmering, allt jag har lärt är på fritiden.
Jag tror att de flesta här gillar att hjälpa andra framåt, min anledning att hänga här är att en "gröning" kan fråga saker som jag anser vara självklara och plötsligt kan man vara tvungen att tänka på VARFÖR det är så självklart och kanske ompröva det "självklara" vilket leder mig framåt.
Så fråga på men läs databladet först!
Ställer du frågor kan det vara bra att ange förutsättningar, speciella orsaker, vilken funktion du vill åstadkomma osv. det brukar leda till tydliga svar.
Postat: 5 april 2007, 14:57:33
av sodjan
Assembler är inget "surt äpple", det är den "enda sanna vägen"...
Notera att 12F serien är nästan lika små och lätta som 10F serien, men
mycket trevligare att programmera. 10F är "base line PICs" och har en del
speciella egenheter, 16F är "mellanklass" och har i princip samma
arkitektur som övriga PIC16 kretsar.