PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : PIC oder AVR - kann mich nicht entscheiden



pLaToOn
19.01.2010, 20:18
Hallo,
ich will mich demnächst etwas mehr mit Mikrocontrollern beschäftigen und kann mich nicht so recht zwischen PIC und AVR entscheiden.

Mit PIC habe ich bereits erste Erfahrungen gemacht. Für meine Ausbildung musste ich mich mit dem PIC16F84A beschäftigen, der dann auch Teil der Abschlussprüfung war, die kürzlich stattfand.

Da die Prüfung nun rum ist und ich nun die freie Wahl habe, mit welchem Mikrocontroller ich mich weiter beschäftige, frage ich mich nun, ob PIC oder AVR die bessere Wahl wäre. Von dem veralteten PIC16F84 will ich erst mal weg, das steht fest.

Trotz meiner Erfahrungen mit dem PIC16F84 bin ich noch Anfänger, was die Mikrocontroller-Programmierung betrifft. Ich habe bisher nur einfache Sachen wie z.B. ein Lauflicht programmiert.

Was ist verbreiteter, AVR oder PIC? Wo ist die größere (deutsche) Community zu finden? Gibt es entscheidende Vor- und Nachteile der jeweiligen Mikrocontroller?

Es wäre toll, wenn ihr mir bei der Entscheidungsfindung helfen könntet.
Danke im Voraus für eure Antworten!

theborg
19.01.2010, 20:31
Naja vor und Nachteil haben beide egal ob pic oder avr die größere Community findest wohl ehr bei den AVRs.

oder wen du über den Deich schaust als gen USA da sind die PICs beliebter

Besserwessi
19.01.2010, 20:49
Bei der Verbreitung in kommerziellen Anwendungen sollten die PICs (pic10...pic18) noch etwas vorn liegen. Bei Hobbyanwendungen werden eher die AVRs häufiger sein. Entsprechend findet man auch da eher Hilfe in Web. Groß ist der Unterschied aber nicht.

Die PICs sind untereinander nicht so ähnlich. Entsprechend gibt es ja nach
Serie verschiedene Compliler etc. Dadruch hat man auch etwas mehr Auswahl genau das passende zu finden. Bei den AVRs ist nur die neue XMega Serie deutlich anders. Die anderen sind untereinander sehr ähnlich. Entsprechend kann der gleiche Compiler/Assembler genutzt werden. Auch das Portieren innerhalb der Familie ist einfacher.

Die AVRs sind auch in ASM noch relativ übersichtlich zu programmieren und haben da mehr ähnlichkeit mit normalen CPUs. Bei den PICs wird das Bankswithing leicht unübersichtlich. Die PICs haben einige wenige echte Register zum rechenen. Bei den AVRs hat man dagegen 32 weitgehend austauschbare Register.

Die AVRs sind meistens etwas schneller, ein AVR mit 1 MHz entspricht etwa einem PIC mit 4-5 MHz.

Für die AVRs gibt es mit GCC einen freien uneingeschränkten C Compiler.

theborg
19.01.2010, 21:42
Die AVRs sind meistens etwas schneller, ein AVR mit 1 MHz entspricht etwa einem PIC mit 4-5 MHz.


Jup aber dafür kanste nen schnelleren eingangs takt benutzen als beim AVR und um genau zu bleiben ist es fsoc/4 des ist bei jedem PIC gleich mit Ausnahme von denen mit internen pll, dafür brauchen die Befehle weniger takte.

Zu den Compilern die Mikrochip Dinger sind alle mehr oder weniger kompatibel, was gerne vergessen wird für pics gibt es kein gcc des ist auch der Grund warum es fast nur kommerzielle Compiler gibt.

GCC kann kein Banking (warum eigentlich nicht ?)

Ich selber benutze pics aber des auch ehr weil ich irgendwann mal beim PIC Assembler hängengeblieben bin, heute würde ich wohl ehr zum avr raten, jedenfalls wenn man gerne libs zusammen klicken möchten.

Wenn man eh alles selber schreibt ist es Wurst welchen man nimmt, in den seltensten fällen kommt man an die Leistungsgrenze der µC's.

PICture
19.01.2010, 21:49
Hallo!

@ pLaToOn

Bei deiner Enscheidung sollten Hardwarekenntnisse und Programmiersprache entscheident sein.

Wenn du dich sehr gut in Elektronik auskennst und hardwarenahe in Assembler bzw. C programmieren willst ist der Microkontroller-Typ egal.

Wenn du aber sich mit der Hardware nicht tiefer beschäftigen willst und einfachere Hochsprache (BASCOM) bevorzugst, solltest du AVRs wählen.

MfG

pLaToOn
20.01.2010, 13:42
Hallo,
mit Elektronik kenne ich mich gut aus. Ich will vorerst mal in Assembler programmieren und dann später auch in C. Basic hört sich zwar bequem an, ist aber wohl für mich nicht sinnvoll, da ich mich auch mit der Hardware beschäftigen will bzw. hardwarenah programmieren will.


Edit:
Ich werde mich nun wohl mit AVR beschäftigen. Als ich bei reichelt nachgeschaut habe, war der AVRISPII günstiger als ein vergleichbarer PIC ICSP programmer und auch der atmega8 kostete nur 1,35 EUR, während ein PIC der 18F Reihe ab etwa 4 EUR erhältlich ist.
Also habe ich einfach mal AVR equipment bestellt und werde demnächst loslegen O:)