Hallo liebe Gemeinde. Ich habe mir neulich Multisim 11 zu gelegt. Gut ok, ist jetzt nicht die aktuellste Version, dafür aber die Power Pro Version. Da in dieser Simulationssoftware nur PIC µC und nicht von Atmel, bin ich gerade am Überlegen, mir ein Evaluierungsboard von Microchip zu zulegen, um auch PIC µC benutzen und simulieren zu können. Was haltet ihr davon? Ist das vielleicht eine schlechte Idee? Oder sollte ich zunächst einmal bei Atmel/AVR µC bleiben bzw. damit das Laufen lernen und vielleicht in ein paar Jahren auf Microchip umsteigen? Danke für die Antworten im Voraus. Gruß Max
@ Martin Müller (silent_max) >Ich habe mir neulich Multisim 11 zu gelegt. Gut ok, ist jetzt nicht die >aktuellste Version, dafür aber die Power Pro Version. Hmm. >Da in dieser Simulationssoftware nur PIC µC und nicht von Atmel, bin ich >gerade am Überlegen, mir ein Evaluierungsboard von Microchip zu zulegen, >um auch PIC µC benutzen und simulieren zu können. Warum? Wegen der Software? Es gibt auch simulatoren für AVRs, allen voran AVR Studio. >Was haltet ihr davon? Ist das vielleicht eine schlechte Idee? Ja. > Oder >sollte ich zunächst einmal bei Atmel/AVR µC bleiben bzw. damit das >Laufen lernen und vielleicht in ein paar Jahren auf Microchip umsteigen? Wenn du AVR gut beherrschst, kannst du auf PIC wechseln, aber wozu? Mit den soliden Grundlagen kannst du dann auf fast jedem Prozessor weitermachen, eagal ob PIC, ARM, wasweißich. Lern aber erstmal EINEN Prozessor mit EINER Programmiersprache (C?) solide! Ohne solide Grundlagen bleibt das alles nur halbgares Gebastel.
Falk Brunner schrieb: > Lern aber erstmal EINEN Prozessor mit EINER Programmiersprache (C?) > solide! Ohne solide Grundlagen bleibt das alles nur halbgares Gebastel. Ja, der Wechsel ist nicht so das Ding wenn Du erstmal einen kennst.
Falk Brunner schrieb: > Warum? Wegen der Software? Es gibt auch simulatoren für AVRs, allen > voran AVR Studio. Mit Multisim kann man auch externe Hardware Simulieren. Ich würde mich aber auf eine µC Familie festlegen. Falk Brunner schrieb: > Wenn du AVR gut beherrschst, kannst du auf PIC wechseln, aber wozu? >Mit den soliden Grundlagen kannst du dann auf fast jedem Prozessor >weitermachen, eagal ob PIC, ARM, wasweißich. So sehe ich es auch, im Grunde ist da µC Programmieren immer das Gleiche, man hat andere Befehle, falls man es im ASM mach und muss andere Register Bits setzen. Ich würde sagen, dass ich PIC gut beherrsche und würde ich mir auch zutrauen auf AVR zu wechseln, wenn ich darin einen Sinn sehen würde. Aber wenn du denkst, dass du den Simulator brauchst, werde ich dich nicht daran hindern Umzusteigen. Ich würde aber mich für den Anfang auf einer Controllerfamilie festlegen. Wie weit bist du bei den AVR?
:
Bearbeitet durch User
Erst einmal vielen Dank für die bisherigen Antworten, die mir sehr weiter geholfen haben. > Ich würde mich aber auf eine µC Familie festlegen. Wie weit bist du bei >den AVR? Da befinde ich mich noch in den Kinderschuhen. Dann bleibe ich bei Atmel/AVR und Assembler, da ich mir vor nicht allzu langer Zeit das STK500 gekauft habe. Es war ja nur eine Frage an euch Profis. Dann werde ich einmal den Simulator im AVR-Studio verwenden, die Datenblätter des jeweiligen µCs zur Hand und auch zwecks Berechnungen den Kopf anstrengen. Gruß Max
Hallo Max, das mit dem Assembler würde ich mir noch überlegen. Sowohl mein IT-Leben, als auch meine Arbeit mit µC hat mit Assembler begonnen. 1974 war das für die Prozessrechner normal. Und einen PIC12C51 programmierte man 2000 auch nicht in C :-). Beim Atmel habe ich mich dann, nach einer kurzen Assembler-Phase, wegen des verfügbaren Compilers für C entschieden, und finde es die bessere Lösung. Einen ARM oder auch PIC32 möchte ich schon garnicht mehr in Assembler programmieren. Es gibt kaum Gründe, in Assembler zu programmieren. Den Befehlssatz des Prozessors zu kennen kann aber bei einer Kontrolle des erzeugten Codes vom C-Compiler nützlich sein. Grüße, Kurt
Kurt Harders schrieb: > das mit dem Assembler würde ich mir noch überlegen. Assembler ist ja für mich nur als Anfang gedacht, bis ich das AVR Tutorial, das hier im Forum zur Verfügung steht durch gearbeitet habe. Assembler soll laut dem Tutorial zum Verständnis am Anfang besser sein als C. Auf C möchte ich umsteigen, wenn ich das Tutorial durchgearbeitet habe. Gruß Max
Martin Müller schrieb: > Assembler soll laut dem Tutorial zum Verständnis am Anfang besser sein Assembler ist sinnvoll, wenn man sich klar macht, dass der C-Compiler als Zwischenformat ein Assemblerfile erzeugt. Und es ist sinnvoll, wenn man sich das ansehen und verstehen kann. Denn manchmal macht der Compiler einfach nicht das, was man sich vorstellt. Und wenn man schon mal eine Vorstellung hat, was aus "PortB ^= 0x08;" werden sollte, dann kann man den Fehler eher finden, wenn man weiß, wie auf Ports zugegriffen wird, und ob/dass es einen XOR Assembler-Befehl auf IO-Ebene gibt. Die Dokumentation des Befehlssatzes ist eben auch in Assembler und nicht in C... Es ist einfach wie beim Autofahren: Normalerweise kommt man mit "normalem" Wissen (=C) ganz gut durchs Leben. Wenn aber mal das Kupplungsseil reißt, könnte es hilfreich sein, wenn man weiß, dass man zur Not im 2. Gang noch ein paar km fahren könnte (=schon mal Assembler gesehen). Profis schalten dann auch ohne Kupplung zügig rauf und runter (=Assembler im Blut), erledigen erst mal das Tagesgeschäft und fahren dann zur Werkstatt... ;-)
:
Bearbeitet durch Moderator
Ja gerade deswegen möchte ich wie gesagt ja erst mit Assembler das Laufen lernen und dann auf C umsteigen. Oder ist an der Vorgehensweise etwas verkehrt?
@ Martin Müller (silent_max) >Ja gerade deswegen möchte ich wie gesagt ja erst mit Assembler das >Laufen lernen und dann auf C umsteigen. Ist OK. >Oder ist an der Vorgehensweise etwas verkehrt? Nein.
und dann in einigen Jahren wechsest du nicht zu PIC sondern zu was mächtigerem. PIC und AVR decken etwa die gleichen Anwendungen ab, da braucht man nicht wechseln zwischen.
Ich lese in letzter Zeit immer mehr über ARM Technologie etwas... Was ist das denn genau? Weil auf Wikipedia heißt es wie folgt: "Die ARM-Architektur ist ein 1983 vom britischen Computerunternehmen Acorn entwickeltes 32-Bit-Chip-Design, das seit 1990 von der aus Acorn ausgelagerten Firma ARM Limited weiterentwickelt wird. ARM steht für Advanced RISC Machines. Das Unternehmen ARM Limited stellt keine eigenen Elektronikchips her, sondern vergibt unterschiedliche Lizenzen an Halbleiterhersteller. Die Vielzahl dieser Lizenznehmer und verschiedene Vorteile der Architektur (z. B. geringer Energiebedarf) führten dazu, dass ARM-Chips im Embedded-Bereich die meistgenutzte Architektur sind. Fast alle derzeitigen Smartphones und Tablet-Computer haben beispielsweise einen oder mehrere lizenzierte ARM-Prozessoren." Gruß Max Edit: Hier im Forum steht auch was gutes... Habe ich leider erst jetzt gefunden. http://www.mikrocontroller.net/articles/STM32
:
Bearbeitet durch User
>Mit Multisim kann man auch externe Hardware Simulieren. Ich würde mich >aber auf eine µC Familie festlegen. Wer Microcontroller mit Simulation lernt hat auch Radfahren mit Stuetzraedern gelernt. Nimm richtige Hardware und lass es ordentlich rauchen. Nein im Ernst, nimm fuer die ersten Schritte richtige Hardware und wenn du an einen Punkt kommst, wo du nicht weiter kommst, evtl. Mangels Messtechnik, dann nimm halt den Simulator. Wenn du gleich in einer Scheinwelt startest, dann debuggst du alles doppelt, erst die Fehler im Simulationsmodell und dann die Fehler in der Verdrahtung ... so wird der Spass an dem Thema bald vorbei sein.
Martin Müller schrieb: > Ich lese in letzter Zeit immer mehr über ARM Technologie etwas... ARM ist keine "Technologie", sondern eine Firma mit dem Name "ARM". Diese Firma stellt nur das Layout für CPU's her und verkauft diese Layouts an Firmen, die daraus erst einen µC machen. Die CPU Cores nennen sich dann z.B.: - ARM7, ARM7TDMI, ARM9, ARM11, ARM15 - Cortex-M0, Cortex-M3, Cortex-M4, Cortex-A15, Cortex-Rx z.B. der Cortex-A15 findet man in Handys und in µC mit mehreren Kernen, ist für Bastler eher uninteressant da zu komplex und schwer beschaffbar. Hingegen die ARM7 und Cortex-M0/M3/M4 gibt es in bastlerfreundlichen und leicht beschaffbaren µC von vielen Herstellern wie ST (STM32), NXP (LPC1xxx), Nuvoton, Toshiba, Atmel, Freescale, ... uvm. Diese haben meist viel FLASH und RAM sowie üppige Peripherie enthalten und gibt es von kleinen bis großen Gehäuse mit vielen I/O's. Hier im Forum wird meist der STM32 und LPC1xxx unterstützt. Für den ersten Einstig in die ARM Cortex Welt empfehle ich den Artikel zu lesen: STM32 für Einsteiger Diese Infos sind übertragbar auf nahezu alle Hersteller die eine Cortex CPU als µC herstellen.
:
Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.