Beslutsångest (val av AVR)

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
Swech
EF Sponsor
Inlägg: 4750
Blev medlem: 6 november 2006, 21:43:35
Ort: Munkedal, Sverige (Sweden)
Kontakt:

Re: Beslutsångest (val av AVR)

Inlägg av Swech »

Alltså.... än en gång så trummas det för PIC datablad och deras överlägsenhet...
Det är INTE så, visst är de bra men det är även AVR´s datablad.
Säkerligen är även övriga processorfamiljers datablad också helt ok, inget jag vet
men jag påstår heller inte att de är sk..t
Att endast PIC har errata och är unikt är helt felaktigt

Kritik av processorer är i sig konstruktivt men det får ju i allafall vara
korrekt och relevant, inte hörsägen.

Swech
31. Errata
The revision letter in this section refers to the revision of the ATmega8A device.
31.1 ATmega8A, rev. L
• First Analog Comparator conversion may be delayed
• Interrupts may be lost when writing the timer registers in the asynchronous timer
• Signature may be Erased in Serial Programming Mode
• CKOPT Does not Enable Internal Capacitors on XTALn/TOSCn Pins when 32 KHz Oscillator is
Used to Clock the Asynchronous Timer/Counter2
• Reading EEPROM by using ST or STS to set EERE bit triggers unexpected interrupt request
1. First Analog Comparator conversion may be delayed
If the device is powered by a slow rising VCC, the first Analog Comparator conversion will
take longer than expected on some devices.
Problem Fix / Workaround
When the device has been powered or reset, disable then enable theAnalog Comparator
before the first conversion.
2. Interrupts may be lost when writing the timer registers in the asynchronous timer
The interrupt will be lost if a timer register that is synchronous timer clock is written when the
asynchronous Timer/Counter register (TCNTx) is 0x00.
Problem Fix / Workaround
Always check that the asynchronous Timer/Counter register neither have the value 0xFF nor
0x00 before writing to the asynchronous Timer Control Register (TCCRx), asynchronous
Timer Counter Register (TCNTx), or asynchronous Output Compare Register (OCRx).
3. Signature may be Erased in Serial Programming Mode
If the signature bytes are read before a chiperase command is completed, the signature may
be erased causing the device ID and calibration bytes to disappear. This is critical, especially,
if the part is running on internal RC oscillator.
Problem Fix / Workaround:
Ensure that the chiperase command has exceeded before applying the next command.
Användarvisningsbild
Icecap
Inlägg: 26659
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Beslutsångest (val av AVR)

Inlägg av Icecap »

N3vYn: jag har en färglaser stående, fullt fungerande, dubbelsidig utskrift om du är intresserat. Ska vara en del färg kvar i den också. Det är en Samsung CLP-500 som fyller en del, det är en pjäs på 35kg.

Ge ett bud om du är intresserat ;-)
Jonas L
Inlägg: 432
Blev medlem: 14 juli 2009, 14:28:41
Ort: Karlshamn

Re: Beslutsångest (val av AVR)

Inlägg av Jonas L »

Jag tror att man ska dela upp det hela i "kärna" och "periferi". Programmerar man i assembler får man full förståelse för båda, vilket naturligtvis är bra. Om man går på C-kompilering direkt får man samma förståelse för periferierna men betydligt mindre om kärnan. Detta förutsätter att man inte använder färdiga makron utan att läsa/förstå dem.

I min mening är det viktiga med mikroprocessorprogrammering att man skaffar sig förståelse för hur timrar, interrups etc. fungerar. De är byggstenarna för effektiv realtidskod. Detta gör man minst lika bra i C. Sen finns det tillfällen då man gör en olycklig C-konstruktion som kompileras hemskt, och då är det bra att känna till kärnan och assembler-koden. Risken med assemblerprojekt är dock att de tar lång tid och löper en större risk att aldrig bli färdiga.

Angående CPU-val så välj något som har de periferier du kan tänka dig att behöva i framtiden. Det går bra att kolla minnesanvändning etc. när man kompilerar. Blir det för stort kan man lika bra optimera koden till att använda 1/10 av minnet i en stor CPU som att försöka klämma in det i en liten. Och att porta inom samma processorfamilj är oftast bara att byta include-fil så fixar kompilatorn stackpekare etc.
Nerre
Inlägg: 27257
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Re: Beslutsångest (val av AVR)

Inlägg av Nerre »

Det kanske ska förtydligas att skillnaden mellan ATmega 48, 88, 168, 328 är minnet (4, 8, 16 eller 32 kB). (Jag är lite osäker på om det är nån mer liten skillnad.) Alltså går det utmärkt att köra en 48 tills man börjar fylla minnet och då kan man stega upp till större modell bara.
N3vYn
Inlägg: 22
Blev medlem: 15 januari 2010, 20:41:36
Ort: Lugnås
Kontakt:

Re: Beslutsångest (val av AVR)

Inlägg av N3vYn »

Oj, här har det hänt grejor medans jag legat och sovit :)

Jag förstår mycket väl att de som själva kör annat än AVR tycker jag ska välja deras plattform.
Men som jag sa i mitt första inlägg så har jag redan valt att börja med AVR då jag upplever communityn kring dessa större vilket känns viktigt när man är nybörjare.
När jag kommit in i det hela lite mer så kan jag säkert komma att byta plattform efter behov.

Många har även nämt C, vilket jag säkerligen kommer migrera till när jag fått mer ingående förståelse för hur allting fungerar.

E85: 328:an som sitter på min arduino är upptagen med att bli autonom kattleksak :)

Icecap: hehe, just den storleken av skrivare har jag nog lite svårt att hitta plats för i lägenheten i dagsläget, annars hade jag nog kunna lägga ett bud på den :)

Nerre: det som jag kan se som skiljer dem åt är storleken på Flash, EEPROM, RAM och Interrupt Vector. Samt att 48:an ej har Read-While-Write och ingen separat bootloader-sektion.
Användarvisningsbild
jesse
Inlägg: 9240
Blev medlem: 10 september 2007, 12:03:55
Ort: Alingsås

Re: Beslutsångest (val av AVR)

Inlägg av jesse »

Jag tycker fortfarande att du gör rätt i att börja med assembler. Steget till C är inte så stort sedan, och du kommer att ha nytta av kunskaperna från assemblern (du behöver ibland skriva assemblerkod i ditt C-program för att få vissa funktioner att fungera).

Sen är ju C för AVR lite speciell.... Jag kände ju till ungefär hur C fungerade innan, men när jag såg uttryck som:

PORTA=(1<<PA6);

så fattade jag ingenting... dels visste jag inte vad << var , jag visste inte vad PA6 innebar, jag kände till PORTA, men vad är detta? Tilldela en konstant ett värde??? Det tog lite tid att fatta...

Jag håller med om att AVR databladen kunde vara enklare och lite annorlunda strukturerade, men jag gör så här när jag ska använda en viss enhet (t.ex. UART, ADC eller Timer0):

1) jag läser igenom kapitlet så att jag förstår vad den kan utföra och hur den fungerar.
2) jag går direkt till "register description" och betar igenom alla register - ofta är det först där du hittar vissa detaljer om hur du ställer in din enhet.

När man ska koma igång med en ny AVR behöver man dessutom gå igenom "kärnan" , dvs konfigurering av systemklocka, CPU, sleepmode, interruptflaggor, power-saving mode osv...
Nerre
Inlägg: 27257
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Re: Beslutsångest (val av AVR)

Inlägg av Nerre »

Börja med assembler för att lära sig hur den funkar är bra. Men sen är det oftast smidigare att gå över till C eftersom då använder man include-filer och sånt som gör att konfigurering av klocka och sånt blir portabelt i den mån det går.

Det som jag gillar med att använda C (eller annat högnivåspråk) är just att man överlåter till kompilatorn att hålla reda på vilka variabler som funkar bra i register och vilka som behöver ligga i RAM. Och det är inga problem med t.ex. rekursion av funktioner (mer än stackutrymme då såklart).
Användarvisningsbild
BEEP
EF Sponsor
Inlägg: 1593
Blev medlem: 21 januari 2006, 16:57:56
Ort: Mölndal

Re: Beslutsångest (val av AVR)

Inlägg av BEEP »

Gubbvarning på PIC
Johanb
Inlägg: 3406
Blev medlem: 26 mars 2006, 22:26:12
Ort: Smedjebacken

Re: Beslutsångest (val av AVR)

Inlägg av Johanb »

Min "standardavr" som nästan alltid sitter i stk500 är en mega8 mest på grund av att jag köpt ett antal billigt, annars hade jag valt mega88 vilken är den jag rekommenderar då den är försumbart dyrare än 48an. Det första jag gör om jag ska bygga något utanför stk500an är att lägga in en bootloader så att det räcker med 2st pinnar + GND istället för 6st pinnar för ISP.
Användarvisningsbild
Glenn
Inlägg: 36772
Blev medlem: 24 februari 2006, 12:01:56
Ort: Norr om Sthlm
Kontakt:

Re: Beslutsångest (val av AVR)

Inlägg av Glenn »

Swech skrev:Alltså.... än en gång så trummas det för PIC datablad och deras överlägsenhet...
Det är INTE så, visst är de bra men det är även AVR´s datablad.
Säkerligen är även övriga processorfamiljers datablad också helt ok, inget jag vet
men jag påstår heller inte att de är sk..t
Att endast PIC har errata och är unikt är helt felaktigt

Kritik av processorer är i sig konstruktivt men det får ju i allafall vara
korrekt och relevant, inte hörsägen.
Isåfall kanske du inte ska lägga ord i TomasL's mun, hans inlägg var väl väldigt korrekt och konstruktivt, var
hittar du ens en antydning till att AVR-databladen är skit ?
BEEP skrev: Gubbvarning på PIC
Idiotvarning på sådana puckade kommentarer...

Varje gång någon AVR-khmer skriver sådana puckade ej konstruktiva kommentarer gör det mej mindre och
mindre sugen att ens titta över AVR-stängslet.. Mer vanligt är väl dock att man läser totalt irrlevanta och
felaktiga jämförelser där man jämför en modern AVR med en PIC16x84 som blev omodern för ca 10 år sedan..
typ "Dööh, pic suger, dom har inte X och Y" ..Jo, det har dom.. "Ok, men dom saknar Z!" ..Nä, bara dom
allra billigaste.. "Dööh, men programmeraren kostar mer än till AVR!" *suck..

Jaja, jag vill inte förstöra TS tråd med mitt gnäll :) men jag tror det är en ganska förhastad slutsats att tro att
communityn är större med AVR, jag tror det är tvärt om, men det ffnns ju enormt mycket folk i båda lägren.
Johanb
Inlägg: 3406
Blev medlem: 26 mars 2006, 22:26:12
Ort: Smedjebacken

Re: Beslutsångest (val av AVR)

Inlägg av Johanb »

Jag gjorde min jämförelse för kanske tio år sedan och då var en at90s2313 mycket kompetent i jämförelse med konkurrerande PICar. Det jag förvånades mest över var att man knappt kunde hitta en PIC i vettig prisklass som hade en så grundläggande funktion som UART.
Jag har inte sen dess tittat över staketet så jag vet inte vilken som är bäst, inte bryr jag mig heller, mina hobbyprojekt brukar klara sig bra med en mega av något slag. Behöver jag mer klös finns ju alltid ARM att ta till.
Däremot så var PIC communityn MYCKET större än AVR communityn på den tiden, hur det är nu vet jag inte, gissar att PIC leder men inte lite mycket som då. Jag brukar inte vara den som följer med den större massan i något :)
Jag tänker inte heller försöka omvända eller klanka ner på någons val, jag klagar dock om jag reagerar över absoluta felaktigheter.
Användarvisningsbild
Swech
EF Sponsor
Inlägg: 4750
Blev medlem: 6 november 2006, 21:43:35
Ort: Munkedal, Sverige (Sweden)
Kontakt:

Re: Beslutsångest (val av AVR)

Inlägg av Swech »

Fördelar:
Microchip har de erkänt bästa databladen bland alla uC-tillverkare.
Erkänt av vemdå?
En annan nog så viktig sak är uChips errator, där de i detalj talarar om vad som ite fungerar som tänkt är samt hur man skall kringå kiselfelen, de är nästan unika i detta
sammanhang, med just information.
Jag påstår att det inte är unkikt alls.. finns knappt ett datablad på vad det än må vara
som inte innehåller en errata. Påstår man det så är det ju inte korrekt
var hittar du ens en antydning till att AVR-databladen är skit ?
Vi kan byta ut ordet skit mot sämre isåfall...

Jämför man idagsläget moderna PIC och moderna AVR så är det såpass lite som
skiljer så det spelar ingen roll alls... Ser man på prisbilden så är PIC det bättre valet

Oavsett.... PIC/AVR/whatever... så blir nog trådskaparen nöjd och glad
eftersom det i grund och botten är kul med processorer :)



Swech
Användarvisningsbild
jesse
Inlägg: 9240
Blev medlem: 10 september 2007, 12:03:55
Ort: Alingsås

Re: Beslutsångest (val av AVR)

Inlägg av jesse »

Glenn skrev:
BEEP skrev: Gubbvarning på PIC
Idiotvarning på sådana puckade kommentarer...
Men Glenn, kom igen nu... det där var väl ett skämt! Du blev verkligen sur, det är verkligen ett krig för dig.... ?

Jag skrattade gott när jag såg den kommentaren (för den var så löjlig och liksom visar på nivån på hela den här PIC-AVR debatten), men så gillar jag ju AVR också :P

Jag kan tillägga att största anledningen till att jag håller fast vid AVR är att jag inte orkar lära mig flera arkitekturer samtidigt och dessutom inte vill köpa fler programmerare, skaffa fler utvecklingsmiljöer . Annars finns det ju ett antal intressanta märken, förutom de två nämnda som är intressanta.

Orsaken att jag från början valde AVR var nog att jag kände att jag snabbt begrep hur de fungerade... jag hittade enkla exempel på nätet och bra litteratur på svenska och AVRstudio4 gick att installera med ett klick. PIC var (och är) för mig obegripliga. När jag skulle börja hade jag möjlighet att låna ett PIC-kit med programmerare och allt, men jag valde ändå att köpa en AVR-programmerare.
Nerre
Inlägg: 27257
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Re: Beslutsångest (val av AVR)

Inlägg av Nerre »

Jag tror det där kan bero väldigt mycket på vad man är van vid. Jag fick samma känsla när jag började kolla på PIC, det kändes så konstigt och ologiskt. Men jag tyckte exakt samma om x86-assembler när jag tittade på det, det var bara "skumt".

Jag vet inte om det kan bero på att jag är "uppvuxen" med Z80. Kan det vara så att PIC känns mer naturligt för folk som hackat assembler på C64?
Användarvisningsbild
jesse
Inlägg: 9240
Blev medlem: 10 september 2007, 12:03:55
Ort: Alingsås

Re: Beslutsångest (val av AVR)

Inlägg av jesse »

definitivt har AVR ärvt en del syntax från gamla Z80... Jag kände igen mig direkt av samma anledning.
Skriv svar