Aurdino är AVR i grunden så då återstår frågan:
AVR eller PIC?
AVR har ett rejält stöd på mjukvarusidan om du kör Unix såsom BSD eller Linux osv. Samt linjär minnesmodell som underlättar programmering.
PIC har mer låsta och ofria kompilatorer och debuggers samt en minnesmodell med bankar som är omständig.
Hjälp med val av plattform
Re: Hjälp med val av plattform
MPLABX går fint att köra i Linux.
De nyare PICarna är också linjära, även 8bitarna.
De fria varianterna av Microchips kompilatorer går alldeles utmärkt att använda och en vanlig amatör lär inte märka någon skillnad. Finns säkert helt gratis och "olåsta" varianter också men jag har aldrig behövt leta.
De nyare PICarna är också linjära, även 8bitarna.
De fria varianterna av Microchips kompilatorer går alldeles utmärkt att använda och en vanlig amatör lär inte märka någon skillnad. Finns säkert helt gratis och "olåsta" varianter också men jag har aldrig behövt leta.
Re: Hjälp med val av plattform
> Samt linjär minnesmodell som underlättar programmering.
Syftar du på den del i en AVR som kallas "RAM"? D.v.s den del av
minnet som *inte* är "register". Visst är det linjärt men oerhört
begränsat rent funktionellt! Man kan enbart göra load/store. Så
fort du ska "göra" något med datat i RAM så måste det flyttas in
och ut mellan RAM och register.
På en PIC gör man allt med hela minnet.
Och den linjära accessen via indexregister fungerar i princip exakt likdant
på en PIC16F1xxx. Med den skillnaden att man indexerat på en PIC (mot en
linjär addressrymd!) kan göra allt, inte bara load/store som på AVR.
AVR'ens minnesmodell underlätar knappast programmering. Man har tre
olika delar av minnet som kan använda olika delar av instruktionerna.
> ...samt en minnesmodell med bankar som är omständig.
Det är i alla fall en minnesmodell som är mycket mer kraftfull än på en AVR.
Du har i princip hundratals "register" där du kan göra allt överallt istället för
AVR's 16/32 register (där du i alla fall inte kan göra allt mot alla register).
Sen är det ju fullständigt idiotiskt att dra igång en sådan här jämförelse,
speciellt som den var så kollosalt oseriös, svepande och direkt felaktig.
Syftar du på den del i en AVR som kallas "RAM"? D.v.s den del av
minnet som *inte* är "register". Visst är det linjärt men oerhört
begränsat rent funktionellt! Man kan enbart göra load/store. Så
fort du ska "göra" något med datat i RAM så måste det flyttas in
och ut mellan RAM och register.
På en PIC gör man allt med hela minnet.
Och den linjära accessen via indexregister fungerar i princip exakt likdant
på en PIC16F1xxx. Med den skillnaden att man indexerat på en PIC (mot en
linjär addressrymd!) kan göra allt, inte bara load/store som på AVR.
AVR'ens minnesmodell underlätar knappast programmering. Man har tre
olika delar av minnet som kan använda olika delar av instruktionerna.
> ...samt en minnesmodell med bankar som är omständig.
Det är i alla fall en minnesmodell som är mycket mer kraftfull än på en AVR.
Du har i princip hundratals "register" där du kan göra allt överallt istället för
AVR's 16/32 register (där du i alla fall inte kan göra allt mot alla register).
Sen är det ju fullständigt idiotiskt att dra igång en sådan här jämförelse,
speciellt som den var så kollosalt oseriös, svepande och direkt felaktig.
- SeniorLemuren
- Inlägg: 8432
- Blev medlem: 26 maj 2009, 12:20:37
- Ort: Kristinehamn
Re: Hjälp med val av plattform
Väljer du PIC och microC så tycker jag absolut att du skall använda C inte Basic. Det är min erfarenhet att du kommr att hitta avsevärt bättre exempel och hjälp ute på nätet när det gäller C.
När det gäller blueints påstående om låsta och ofria kompilatorer så har microC ingen begränsning när det gäller att producera optimerad kod. Däremot finns det en begränsning i hur stor kod man kan kompilera. Men den gränsen (2 k word) tillåter förhållandevis stora program, Den komplicerade minnesmodelen med bankar märker man bara om man skall programmera i assembler. I C så tar kompilatorn hand om de problemen så dom märker du inte av.
Blir man mer avancerad så kostar en programlicens 249 US$ vilket är ganska billiigt med dagens dollarkurs.
Ett litet exempel på hur en kod kan se ut gjort av en nybörjare i C kan du se här.
Edit: Det ramlade in några inlägg medan jag skrev, men jag postar detta ändå.
När det gäller blueints påstående om låsta och ofria kompilatorer så har microC ingen begränsning när det gäller att producera optimerad kod. Däremot finns det en begränsning i hur stor kod man kan kompilera. Men den gränsen (2 k word) tillåter förhållandevis stora program, Den komplicerade minnesmodelen med bankar märker man bara om man skall programmera i assembler. I C så tar kompilatorn hand om de problemen så dom märker du inte av.
Blir man mer avancerad så kostar en programlicens 249 US$ vilket är ganska billiigt med dagens dollarkurs.
Ett litet exempel på hur en kod kan se ut gjort av en nybörjare i C kan du se här.
Edit: Det ramlade in några inlägg medan jag skrev, men jag postar detta ändå.