AVR verglichen mit PIC (SX)

#784881
Lesenswert?
• ▲
▼
Thomas Burkhart wrote:
> versammelt. Kann mir jemand kurz zusammenfassen, welche Vor-/Nachteile
> ein AVR gegenüber einem PIC speziellUbicom SX.

Da weiß ich fast nicht, wo man mit den vielen Nachteilen des SX anfangen 
soll.

Immerhin sind sie ehrlich und schreiben sie in den FAQs rein, z.B.:

"Interrupts that "arrive" while the SX is already processing another 
interrupt are ignored. Ideally, the programmer should try to structure 
the code such that it is not possible for interrupts to coincide. 
Realistically, this is not always possible."

Ich ziehe es allerdings vor, wenn keine Interrupts (durch 
Architekturdesignfehler) verloren gehen.
Der Name Interrupt impliziert ja schon einen gewisse Wichtigkeit für den 
korrekten Programmablauf.

Und solche Gags, daß man nur in gerade Pages (0,2,4..) callen kann, 
finde ich ehrlich gesagt oberpeinlich, sowas muß man heutzutage keinem 
mehr zumuten. Man sollte schon verschiebbaren Code erzeugen können.

Ob es daher einen (ANSI-) C-compiler gibt, der den SX unterstützt, darf 
arg bezweifelt werden. C-Programmierbarkeit halte ich heutzutage für 
eine Grundvoraussetzung.


Peter
OP #784892
Lesenswert?
• ▲
▼
Ist neben dem AVR und den PICs noch ne andere Familie wirklich 
interessant anzuschauen (hatte bisher immer nur mit größeren CPUs zu 
tun)

Gibt es für die AVRs ein schönes starterkit? Oder ein Howto was ich 
alles brauche?

Hatte bis jetzt mit Basic-Stamps experimentiert. Komme aber von C, 
sodass mir das durchaus entgegenkäme.

Gruß

Thomas
#784899
Lesenswert?
• ▲
▼
Thomas Burkhart wrote:
> Ist neben dem AVR und den PICs noch ne andere Familie wirklich
> interessant anzuschauen (hatte bisher immer nur mit größeren CPUs zu
> tun)


Durchaus, z.B. die weltweit größte MC-Familie überhaupt, die 8051-er:

Z.B. bis 100MIPS die C8051Fxx von Silabs, bis 20MIPS die AT89LPxx von 
Atmel oder die XC866 von Infineon und noch viele andere.


Peter
OP #784915
Lesenswert?
• ▲
▼
Anders gefragt, wenn einen µC will der nicht zu komplex ist, sauberes 
IRQ handling, ne menge IO Pins hat und mit C zu programmieren ist, nicht 
zuviel Bauteile ausen rum brauch, welchen würded Ihr denn empfehlen, hab 
nicht die Zeit mich durch die Details jeder Prozessorfamilie 
durchzuarbeiten und hätte wohl auch schwierigkeiten dies zu bewerten. 
Das war der Grund wieso ich die BasicStamp Module so ansprechend fand.

Also einfach Empfehlungen mit evetuell + / - und was ich dazu brauche um 
zu starten.

Gruß Thomas
#784971
Lesenswert?
• ▲
▼
Peter Dannegger wrote:

> Realistically, this is not always possible."

Yep, diese Nummer ist preisverdächtig. Aber wozu braucht man 
schliesslich Interrupts - der Urvater PIC1650 kam noch völlig ohne 
solches Teufelszeug aus.

> Und solche Gags, daß man nur in gerade Pages (0,2,4..) callen kann,

Ich denke mir das eher so zurecht, dass du in jede callen kannst, aber 
immer nur in dessen erste Hälfte. Notfalls steht dort eben ein 
Sprungbefehl. Weil die Banks effektiv 512 Worte umfassen. Dann fluchst 
du zwar immer noch über das Banking, aber das Ganze bekommt eine gewisse 
Logik.

Das entstammt übrigens in direkter Linie dem erwähnten PIC1650, da war 
das auch schon so, nur die erste Hälfte vom ROM liess sich callen. Nur 
hatte der weder Banks noch Pages (weil wenig genug RAM und ROM).

Solche Probleme hatten viele Designs dieser Zeit. Intel 8048/51, Zilog 
Z8, Fairchild F8, ... alle hatten ihre liebe Not mit der Adressierung 
von Speicher, sobald die Grösse, für die das Ding konzipiert war, 
überschritten werden musste. Immrhin betraf es meist nur Daten. Aber 
damals hat man die Designs nicht für die Ewigkeit entwickelt. Was kann 
Intel dafür, dass die Leute lieber auf '51 weiterprogrammierten statt 
auf viel schönere '96 zu wechseln.

> C-Programmierbarkeit halte ich heutzutage für
> eine Grundvoraussetzung.

Ja, heute. Aber nicht in den 70ern, in denen das entstand.

Kleiner Spass nebenbei: Schau mal bei 
http://en.wikipedia.org/wiki/IBM_650 rein, nach "optimized" suchen. 
Das ist echte Programmierung.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.