- Akku Tests und Balkonkraftwerk Speicher         
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 16 von 16

Thema: Atmel vs. PIC

  1. #11
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    29.10.2004
    Ort
    GRAZ
    Alter
    58
    Beiträge
    576
    Anzeige

    Praxistest und DIY Projekte
    Hallo ThunderD

    Klar , Assembler ist ultimativ

    Wie schnell schätzt du den Bascom im vergleich zu anderen Hochsprachen wie z.B. "C" ein? (oder zu Assembler)

    Ich hatte von Bascom auch das Vorurteil, dass es eben so langsam wie das alte Basic ist, stimmt aber nicht.. (weil eben Compiler..)

  2. #12
    Gast
    Hallo Roberto,

    dann denk dir doch mal ein Bsp. für irgendeine Berechnung oder sonstiges aus, nur mach es nicht zu einfach, sonst ist es nicht mehr repräsentativ. Ich schreibe dir dann dafür ein C-Programm.

    Wenn man den Threads auf mikrocontroller.net die Threads verfolgt, kann man aber nur zu dem Schluß kommen, dass bspw. avr-gcc schon eine Spur schneller als Bascom ist. Ich würde das allerdings nicht negativ sehen, weil für Einsteiger Bascom wesentlich besser geeignet scheint, auch wenn man da wieder das Problem hat, dass dem Benutzer dadurch zum Teil auch grundlegende Funktionsweisen des MC verborgen bleiben.

    Eigentlich ist die Diskussion aber müßig, wen interessierts, was spielt es für eine Rolle?

  3. #13
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    02.07.2004
    Ort
    Mammendorf
    Alter
    67
    Beiträge
    1.062
    Hallo Freunde

    Ich denke für den AVR spricht die Qualität der beiträge und der Unterstützung die man in diesem Forum findet und erhält. Auch der Bascom Compiler ist ein starkes Argument. Ich habe hier begonnen mit der festen Absicht in Assembler zu programmieren, aber wenn man festellt das im Sprachumfang von Bascom schon viele Funktionen drin sind die man sonst erst mühsam selber entwickeln muß, dann habe selbst ich Sturkopf mich überzeugen lassen. Dazu kommt das man hier im Forum soviel Code finden kann mit dem man weiterführend arbeiten kann. Zu guter letzt, Assembler Code ist so einfach in ein Bascom Program einfügbar, das man wo zeitkritisch jederzeit die Vorteile des Assembler nutzen kann. Die hier empfohlenen Bücher, das von C.Kühnle, das von Walter und das zu Bascom Sprachbefehle, ergänzen die Umgebung vortrefflich.

    Nicht zuletzt eigentlich möchte ich auf die Produkte von Robotikhardware nach den Richtlinien diesees Forums hinweisen. Hier kann man preiswert hochwertige und sehr gut konzipierte Produkte erwerben. Je mehr man sich mit ihnen beschäftigt, desto mehr erkennt man wie clever konzipiert die sind. Ich bin übrigens nur ein zufriedener Benutzer und kein an Robotikhardware oder Atmel Beteiligter.
    MfG

    Hellmut

  4. #14
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    26.10.2004
    Ort
    Feldkirchen in Kärnten
    Beiträge
    203
    So bestellt wird wahrscheinlich bei elv. nur warum finde ich da keine quarzoszillatoren? einen beheizten quarz braucht man ja nicht wirklich

  5. #15
    Lekro
    Gast
    Zitat Zitat von ThunderD
    das asm schneller is als alles andere is eh irgendwie klar.
    Keinesweg, das ist leider ein weit verbreiteter Irrtum.

    Bei heutigen PC-Prozessoren wie P4 oder Athlon-XP (oder die 64-Bit-CPUs) ist es extrem schwer bis nahezu unmöglich, in Assembler schnelleren Code zu schreiben als den, den ein guter C/C++-Compiler generiert.
    Wenn man nicht gerade ein Assembler-Guru ist und die Datenblätter dieser CPUs im Schlaf aufsagen kann, hat man kaum eine reale Chance einen optimierenden Compiler zu schlagen.

    Auf Mikrocontroller lässt sich das natürlich (noch) nicht 100% übertragen, weil diese bei weitem noch nicht die Komplexität eines P4 aufweisen. Zur Zeit kann man daher auch mit grundlegenden Assembler-Kenntnissen schnelleren oder sparsameren Code erzeugen. Leider ist es so, dass Assembler nicht gerade die übersichtlichste der möglichen Programmiersprachen ist, weswegen es für größere Projekte doch häufig ausscheidet. Die Wartung des Codes wird einfach zu aufwändig. Manchmal eignet sich Assembler für zeitkritische Routinen, wenn der Compiler etwas zu viel des guten erzeugt.
    Wenn man z.B. in C einen Funktionsaufruf in einer Interruptroutine macht, sollte man schon wissen was das auf Assemblerebene bedeutet.

    Man darf aber auf gar keinen Fall den Fehler machen und die Codegenerierungs-Leistung von guten C/C++-Compilern unterschätzen.
    Im Zweifelsfall kann man den C/C++-Compiler jederzeit überreden, Assembler-Code auszuspucken und selbst Hand anlegen.

    Zu Bascom:
    Ich habe Bascom nie benutzt. Nach dem, was ich davon gehört habe, vermute ich aber stark, dass der generierte AVR-Code ziemlich gut sein kann. Das liegt aber nicht gerade am optimierenden Bascom-Compiler, sondern eher daran, dass keine komplizierten Ausdrücke möglich sind. Die (man verzeihe mir den Ausdruck) relativ primitive Sprache lässt sich ziemlich einfach nach Assembler übertragen, viel optimieren muss man da gar nicht.
    Es hängt bei Bascom IMHO also ziemlich am Programmierer, ob der Code schnell, sparsam oder beides ist. Langsamer als Assembler-Code ist er dabei nicht unbedingt (außer Bascom optimiert _gar nicht_ und übertragt wirklich stur 1:1 nach Assembler).


    p.s.: Ein selbstgebauter ISP-Adapter ist normalerweise um einiges billiger als ein gekaufter. Allerdings hast du dann natürlich das Risiko, dass er nicht funktioniert. Bei einem sehr einfachen Adapter sollte dieses Risiko aber vernachlässigbar sein. Du baust ihn auf, wenn er nicht geht und du nicht lange nach dem Fehler suchen willst kannst du dir immer noch einen kaufen.


    (*puh* Monster-Posting; ich sollte mich vielleicht mal registrieren)

  6. #16
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    21.09.2004
    Ort
    Heilbronn
    Alter
    41
    Beiträge
    153
    Hallo,

    also zuerst einmal zum eigentlich Thema dieses Threads: Ich würde jederzeit nen AVR bevorzugen. Gründe hierfür sind der einfache ISP, die gute Unterstützung und Datasheets von Atmel unddie weite Verbreitung.

    Nun zu den Programmiersprachen. Uerst einmal muss ich Lekro Recht geben. Bei modernen Prozessoren biste mit nem schönen C-Code oftmals schneller. Aber auf RISC- Prozessoren ist dass eben nicht der Fall. Ich gehe hierbei einen Kompromiss ein: Ich schreibe meine Programme auf nem C- Compiler und nur zeitaufwändige Berechnungen oder sehr Zeitgenaue Port- Arbeiten in Assembler. Sobald ein Programm ne gewisse Grösse erreicht wirds in Assembler einfach zu unübersichtlich...

    MfG Marco

Seite 2 von 2 ErsteErste 12

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress