Unterschied AVR versus PIC

Gast #696796
Lesenswert?

Der Unterschied ist der Selbe wie zwischen Käse und Edammer oder 
Kraftwagen und Auto. Es ist und bleibt geschmackssache. Geben tun die 
sich nicht viel.

AVR hat in D (und vor allem hier!) ne größere Lobby, was den Einstieg 
erleichtert. Wenn man aber eh richtig geld ür uC ausgeben will und des 
Englischen mächtig ist wird man auch ür Pics bestens bedient.

Im Großen und ganzen isses Einfach wurschd.


Achja: Gratulation zum missachten der Suu und zum eröfnen eines Threads 
den es hier geühlt alle zwei Stunden gibt.
#696891
Lesenswert?

Ein paar kleine Unterschiede gibt es schon. Hab früher mit PICs 
rumprogrammiert, inzwischen bin ich beim AVR gelandet.

Zum Programmieren sind die PICs (12 und 16) ziemlich grausam, es macht 
einfach keinen Spaß. Kann nun daher kommen, dass ich ziemlich viel mit 
C/C++ programmiere, für mich ist's ein echter Vorteil, dass es 
effiziente Compiler für den AVR gibt. Kann bei jemandem, der weder C, 
noch Assembler kann, aber anders aussehen.
Für die PICs sollte man sich sehr schnell mit Makroprogrammierung 
vertraut machen, und die auch einsetzen (dem gpasm hab ich nach 'ner 
Weile If, For und While Blöcke und Variablentypen bis 32bit int 
beigebracht). Angenehm sind allerdings die Bitoperationen (bit set/clear 
und skip instruction if bit set/clear).

Hardwaremäßig sind die PICs teilweise besser ausgestattet als die AVRs. 
Das betrifft zB. den ADC (beim PIC teilw. 12 Bit) oder den Timer (läuft 
zB. auch an einer externen 50MHz Quelle, also schneller als der PIC 
Takt).
Dafür fehlen wiederrum ein paar andere Sachen (zB. häufig kein interner 
Oszillator), oder sind grausam implementiert (Interrupts).
Insgesamt sind die Dinger auch vielfältiger ausgestattet, wenn ein AVR 
zB. einen ADC hat, dann hat der fast immer die selben Eckdaten - beim 
PIC nicht so.

Ein weiteres Manko ist, dass der PIC an jeder Instruktion 4 Takte 
arbeitet. Also 'n 4 MHz PIC schafft maximal 1 MIPS. Der AVR schafft eine 
pro Takt.
Dafür ist der Befehlssatz beim PIC aber bei doch einigen Sachen 
effizienter (nicht mit angenehmer verwechseln!).


Fazit: Denk erst garnet dran einen PIC in C zu programmieren - PIC heist 
Assembler, AVR heist C. Der Rest verhält sich wie der Vergleich 
Assembler <-> C.
#697162
Lesenswert?

@ I_ H.: du hast die PIC12 und PIC16 kennen gelernt, und für die hinken, 
was C betrifft, den AVRs hinterher. bitte differenziere, dass die 
neueren PICs (16er, 24er, 30er und die ganz neuen 32bitter) ganz anders 
sind: die haben die vorteile die du schon für die älteren erwähnt 
hattest plus, dass sie C-optimiert sind ^^
bitte bitte bitte, hört endlich auf die neuen PICs mit den alten in den 
selben topf zu werfen - oder ist ein Mercedes ein vergleichbares auto zu 
einem Trabi? eben, das geht ja auch nicht!
Dieser Beitrag ist gesperrt und kann nicht beantwortet werden.