Nja, fullt debuggstöd och maxxad felhantering brukar betyda att det vävs in en massa call till diverse subrutiner som inte görs i annat fall. Det är bara att titta på kodstorleken, jag är säker på att den växer.
Uursäkta ett lite aggressivt inlägg, jag blir bara så trött på alla vinklade tester som skall visa hur usel PIC är. Det är en bra processor just för att den är enkel.
Det här är en fråga avnärmast religiös karaktär och kan aldrig besvaras entydigt. Den man trivs bäst, så enkelt är det.
Därför är det viktigt att nybörjare tittar på mera än ett alternativ och fram för allt tittar på assembler. Det är i måga fall inte bara ineffektivt utan även jättejobbigt att implementera vissa saker i högnivå som är jätteenkla i asm.
Marta skrev:
Därför är det viktigt att nybörjare tittar på mera än ett alternativ och fram för allt tittar på assembler. Det är i måga fall inte bara ineffektivt utan även jättejobbigt att implementera vissa saker i högnivå som är jätteenkla i asm.
Fast oftast är det tvärtom, vilket naturligtvis är själva orsaken till högnivåspråk.
Testet är för övrigt gjort så att man tar tid på mer än en addition, men det kan man läsa mer om på sidan där testen kom ifrån.
Provade nu själv med en atmega88, 200 stycken 16 bitars additioner med interna RC-klockan på 8Mhz tar ca 52micro sekunder, dvs 0.26us per styck. Vilket stämmer rätt bra med 2 st 8Mhz cykler.
Men varaför tjabba? Alla vet ändå att PIC är bäst, sen att folk vill använda annat så är det ett uttryck för egen stil eller så, jag menar folk köper ju både Fiat och Saab mot bättre vetande också.....
Skämt åsido...
Hela diskutionen är lite fånig - man väljer det man vill ha. Det finns för och nackdelar med de flesta lösningarna. Hade det inte funnits en marknad så hade inte heller produkterna funnits. Och det är vlä tur att det finns så mycket att välja på, för utan konkurens så hade vi inte haft så bra produkter som vi har att välja mellan idag.
ASM eller högnivåspråk? Tja, allt beror på applikationen och storlek på krets. En Pic10F MÅSTE du köra i ASM, en 16-bitars high preformance MCU går knappt programmera i ASM. I mellanlandet så avgör komplexitet, vad man har för kunskapsbakgrund, vilka utvecklingsverktyg man har och hur tidskritisk applikationen är var man drar gränsen mellan högnivå och ASM. Om det är rätt att köra högnivå på en 16F628? Tja, det är väl bara den som utvecklar som själv väljer detta och det är meningslöst att säga till personen att han eller hon gör rätt eller fel
ucadv: vem är Darl McBride? Och vad har h*n med det att göra?
Vad jag vet har amatörer/hobbyister ofta en del ångest om de ska lägga ett par tusen på komponenter och att köpa en kompiler till 30kkr är inte första prioritet vanligtvis.
För nybörjare är PIC ett bra val, inte för att själva kretsen är speciell mycket bättre men för att dokumentationen från MicroChip är mycket bra och oftast pedagogisk om man hittar rätt grej.
Inlärningströskeln är alltså lite lägre med bra och välgjord information.
För en van konstruktör/programmör i en anställning är saken ganska annorlunda: 30kkr till en kompiler är inget problem, krånglig dokumentation kan väl gå, man ska ju bara ha hårdvaran att fungera till projektet och ett testkit som kostar lite är inget problem alls om bara man kommer igång med projektet snabbt och effektivt.
2. jag har tillgång till IAR, Keil och CrossStudio, men använder numera mest GCC (för ARM & MIPS). Jag betalade ca 0:- kr för kompilator, editor och debugger. Var kommer dina 30KKr från?
3. Jag tycker att AVRs dokumentation är betydligt bättre än genomsnittet! mycket bättre än t.ex. det nonsens som AnalogDevices, Cirrus Logic och Samsung trycker för sina ARM processorer. Kanske tom lite bättre än NXP (Philips) som är bland dom bästa.
Marta >>>
Det är väl inte så svårt att lista ut att dom har tagit tiden på en _serie_ av multiplikationer, additioner osv?
Vill ni ha bättre benchmark så UTMANAR jag er (alla på forumet) att fixa en!
Att AVR är överlägsen är så uppenbart att det är märkligt att det överhuvudtaget behöver diskuteras.
( Ville bara lägga lite moteld mot den övervägande PIC-propagandan av likvärdig sakliga typ. )
Då vi (på mitt dåvarande jobb) i sin tid (1998) köpte en Keil C till 8051 kostade den 19kkr, när jag kollade nyligen vad IAR's C till Renesas kostade låg den på 30kkr (kan vara jag minns fel, kanske "bara" 20kkr) och har du "tillgång" kan det bara betyda att du antingen har piratkopior eller att någon annan har betalt.
Att du kör med GCC som är gratis är väl ditt val, till Renesas kör jag med HEW som är gratis upp till 64KB kod och till Fujitsun kör jag SofTune som är gratis den med, GCC stödjer inte dessa processorer (än) och då får jag välja annat.
Nu har jag mycket svårt att se vad Darl McBride och Unix har med detta att göra men du har väl en idé med den biten.
Själv har jag vissa program i "olicensierat" version men ALLA program jag använder för att göra kommerciellt arbete är betalat för, vissa är gratis och då är jag glad.
Jag har läst lite datablad om AVR och jag är inte imponerat, Renesas är inte speciellt bra heller men har bättrat sig en del på sista tiden.
Jag skulle gärna vilja få lite exempel på vad *ni* tycker är bra respektive dåligt i de olika databladen (PIC,AVR,Renesas,whatever), jag har inte använt en PIC på ca 8år men när jag gick över till AVR tyckte jag inte att databladen var dåliga på något vis.
Jag tycker att Atmel beskriver funktioner/arbetssätt ganska bra och jag gillar att det finns exempel kod till väldigt mycket i databladet, både skrivna i C och i assembler.
EDIT/tillägg: Jag tror bestämt att jag skall beställa lite renesas processorer för det verkar helt klart intressant efter icecaps lovord.
Du kan få både IAR och Keil betydligt billigare, "light" versionenrna är gratis. CorssStudio kostar från $149 (998:- Kr).
"Att du kör med GCC som är gratis är väl ditt val",
GCC är väl de facto standard? Att ha en processor som inte stöds av GCC är väl en klar nackdel, eller hur?
--
Jag påstår fortfarande att Atmel gör bra datablad. Jämförde just en PIC18 och en ATMega8 datablad med varandra och märkte ingen större skillnad.
--
Darl McBride påstod att hans företag "ägde" programspråket C++, och ville få folk å betala royalities till honom. Läs första meningen i länken ovan.
GCC är INTE de-facto standard! Och att köpa "light"-versioner ser jag ingen anledning till, dom kan man få gratis ändå.
CrossStudio känner jag inte till.
Att bara välja processorer som stödjs av GCC ser jag som något nära tjänstfel, då är man insnöat och väljer inte den mest kostnadseffektiva processortyp vilket kan göra en avsevärd skillnad når antalet enheter börjar stiga.
alla>>>
Jag föredrar* AVR framför PIC av två skäl. Det första är tekniskt, jag tycker AVR är snabbare, har bättre arkitektur, bättre kompilator osv, men detta har ni hört förut.
Det andra skället är att företaget bakom PIC (MicroChip) gjorde en SCO förra året (stämde allt och alla). Jag tycker vi ingenjörer måste visa vad vi tycker när ett företag tas över av ett gäng samvetslösa advokater:
Jag vet att flera företag vägrat köpa nya komponenter från MicroChip sen detta blev känt. Att ett företag tar till advokater på det här sättet (läs vilka patenter detta gäller så förstår ni) brukar oftast betyda att det börjar gå utför för dom. På tal om det, konkade inte SCO härom dagen? Och hur gick det för MIPS?
----
[*] Handen på hjärtat, jag använder inte ens AVR särkillt ofta nuförtiden. Jag kör mest ARM, även för hobbyprojekt hemma. Men blev jag tvungen att välja mellan PIC och AVR skulle jag välja AVR nio gånger av tio.
Icecap>>>
Ditt svar ovan visar att du lever i en annan värld. Jag ser ingen mening med att fortsätta den här diskussionen
Om jag lever i en annan värld eller inte kan jag inte svara på, jag lever i sverige och jobbar med detta båda i min anställning och firma...
Vi kanske mest jobbar inom olika områden...
Jag kollade på ARM då vi skulle byta processor men den har inte vad vi behöver, det har Fujitsun och Renesas M16C och totalekonomisk är Renesas framtiden till det kommer bättre & billigare processorer.