Hi,
wenn ich das richtig sehe, dann sind hier jede Menge AVR Fans
versammelt. Kann mir jemand kurz zusammenfassen, welche Vor-/Nachteile
ein AVR gegenüber einem PIC speziellUbicom SX.
Gruß
Thomas
Ich hoffe nur, dass bei einem solchen Vergleich Gleiches mit Gleichem
verglichen wird und nicht ein 16F84 mit einem ATmega128 oder so.
Man kann ruhig auch mal die 18F oder 24F mit in einen solchen Vergleich
einbeziehen. Dann könnten viele der PIC Vorurteile mal ad Acta gelegt
werden.
Sven
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
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
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
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
Thomas Burkhart wrote:
> 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
Nen AVR. Wieviele IO-Pins brauchst Du, "ne Menge" ist keine Aussage.
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.