Forum: Mikrocontroller und Digitale Elektronik Neben Atmel auch Microchip lernen


von Martin M. (silent_max)


Lesenswert?

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

von Falk B. (falk)


Lesenswert?

@ 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.

von mknoelke (Gast)


Lesenswert?

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.

von Max H. (hartl192)


Lesenswert?

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
von Martin M. (silent_max)


Lesenswert?

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

von Kurt H. (Firma: KHTronik) (kurtharders)


Lesenswert?

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

von Martin M. (silent_max)


Lesenswert?

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

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

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
von Martin M. (silent_max)


Lesenswert?

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?

von Falk B. (falk)


Lesenswert?

@ 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.

von Steel (Gast)


Lesenswert?

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.

von Martin M. (silent_max)


Lesenswert?

Was ist denn mächtiger als PIC und AVR?

von Falk B. (falk)


Lesenswert?

Der über alles erhabene STM32 ;-)

von Arsenico (Gast)


Lesenswert?

der weisse Riese

von Martin M. (silent_max)


Lesenswert?

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
von A. W. (uracolix)


Lesenswert?

>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.

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

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
Noch kein Account? Hier anmelden.