Hei,
meine Frage ist durchaus ernst gemeint, also bitte nicht lachen.
Hab vor über 20Jahren alles auf Commodore in Basic programmiert.
Möchte jetzt wieder einsteigen, aber etwas moderner.
Ich suche,
eine Plattform, wo ich auf dem Rechner mein Programm schreiben kann.
Gerne irgendwie Basic oder andere leichte Programmiersprache.
Dann das Programm über USB auf eine Platine schieben, in welcher ein
Prozessor steckt, welchen ich danach nur noch entnehmen muß, um ihn in
meine Hardware einzusetzen.
Was ist am besten geeignet?
Es gibt ja soviel, ARM, AVR, PIC, usw. Ich blick da echt nicht durch.
Konkrete Angaben Hersteller, Bezugsquelle, Bestellnummer usw. wären echt
hilfreich.
Danke schonmal für Eure Hilfe
Ich würde mir das DV164131 - PICkit 3 Debug Express kaufen. Damit hast
du einen Programmer/Debugger und eine Testplatine. Mit dem PICkit3
kannst du dann auch so gut wie alle PICs vom kleine 8bit bis zum 32bit
Controller programmieren. Ich verwende MPLAB X IDE mit dem XC8 (8bit
PICs) bzw. XC16 (16bit PICs) C-Compiler. Wenn dir C nicht gefällt kannst
du mit dem PICkit auch das vom MikroE Compiler generierte HEX-File auf
dem PIC flashen.
Einfach sind in jedem Fall PIC und AVR Controller. Bei beiden ist der
Schaltungsaufwand und die Kosten beinahe identisch. Ich bevorzuge AVR,
weil ich zu meiner Einstiegszeit dazu mehr Infos im Web gefunden habe.
ARM Controller sind eher was für Fortgeschrittene - zu viele Funktionen
für Einsteiger.
Das Arduino System verleitet Anfänger durch seine praktischen Libraries
und Steckmodule dazu, komplexe System zusammen zu kopieren, die am Ende
oft nicht zufriedenstellens funktionieren und vom Erbauer selbst nicht
mehr verstanden werden. Die Hardware ist zum Basteln Ok, aber lass die
Finger von der Arduino Software. Arduinos sind letzendlich primitive
Mikrcocontroller Boards mit AVR Controllern.
AVR und PIC bekommst du bei allen mir bekannten Elektronik
Versandhäusern, ebenso das dazu nötige Zubehör. Kleine Boards mit AVR
Controller, Quarz und USB-UART Interface findet man zeitweise sehr
billig bei Ebay. Leider sind die manchmal auch fehlerhaft (z.B. einzelne
Pins nicht beschaltet oder vertauscht).
Chantal schrieb:> Was ist am besten geeignet?> Es gibt ja soviel, ARM, AVR, PIC, usw. Ich blick da echt nicht durch.
Es gibt nicht "am besten". Fang mit etwas kleinem an. Danach ist das für
dich zunächst am besten weil du es schon etwas kennst. Qualifizierte
Unterstützung im Forum findest du zu AVR. Ich empfehle ATmega88A und die
Tutorials zum AVR hier im Forum.
Angefangen wird mit "Programmieren in C". Am besten das Original von
K&R.
Denn für alles, was du auf einem Mikrocontroller machst, wirst du
irgendwann C benutzen müssen.
Zum Üben kann man auch einen PC benutzen.
Nach ein paar Monaten kann man dann auch auf etwas kleineres umsteigen.
> Chantal schrieb:> welchen ich danach nur noch entnehmen muß, um ihn in> meine Hardware einzusetzen.
Hallo,
du willst einen konkreten Rat, aber schreibst nicht wofür?
Das ist so, wei wenn jemand nach einen guten Fahrzeug fragt, aber sich
nicht darüber auslässt, ob der damit Brötchen holen will oder
Granitblöcke aus dem Steinbruch abtransportieren muss.
Kein Mensch weiß, was deine Hardware konkret macht?
Auch wenn man manche uC-Plattform sehr universell einsetzen kann, heißt
das nicht, dass sie alles kann oder dass sie deine Anforderungen gut
erfüllt.
Gruß Öletronika
Max H. schrieb:> Mit dem PICkit3> kannst du dann auch so gut wie alle PICs vom kleine 8bit bis zum 32bit> Controller programmieren.
Welcher wird denn nicht unterstützt? Ich hab bisher keinen gesehen. Ich
hab aber auch nicht die Liste der unterstützen PICs mit den verfügbaren
PICs abgeglichen.
Günther schrieb:> Qualifizierte> Unterstützung im Forum findest du zu AVR.
Qualifizierte Antworten bekommt man zu jeden Thema, sofern man die Frage
konkret stellt und den anderen nicht das Gefühl gibt, dass die eine
Aufgabe lösen sollen und man selber macht nichts. Die Frage ist, bei
welchen Themen findest du am meisten unqualifizierte Antworten ;)
Zum Thema: Auch wenn dir das nicht wirklich weiter hilft: Es gibt nicht
die richtige Wahl. Es sind Leute dabei, die bevorzugen AVRs, welche ARMs
und Leute wie z.B. ich PICs. Die Frage ist so ähnlich wie: Ich will nen
Auto, welche sind besser: BMW, Audi oder Mercedes. Darauf wirst du nie
eine Antwort finden, da es keine gibt. Die wird es vielleicht geben,
wenn du sehr konkrete Vorstellungen hast (z.B. ein eingebauter ADC mit
>2MSps bei >12bit). Und was ist mit den anderen Firmen? Die sind ja
nicht schlecht, nur weil sie hier kaum behandelt werden.
Um in die Materie reinzukommen langen wohl alle. Meine persönliche
Empfehlung: PIC. Dort hast du mit einer IDE und einem (günstigen)
Programmer (und Debugger) die Auswahl/Möglichkeit, kleine 6pin 8bitter
über große 8bitter und 16bit dsPICs bis zu 32bitter MIPS Controller zu
programmieren. Nach meinem Wissensstand haben andere Hersteller nicht so
eine große Bandbreite, die mit den gleichen Tools abgedeckt werden. Aber
da nagel mich nicht drauf fest. Ich habe bisher jedenfalls für alle
Anwendungen einen passenden PIC gefunden. Und als Einsteiger wird es
sowieso länger dauern, bis dir die PIC32 zu lahm/Ressourcenarm sind.
Programmiersprachentechnisch wirst du mit C sehr viel mehr Auswahl
haben. Ein Basic-Compiler fällt mir nur der von MikroElektronika ein.
Für AVR, PIC und ARM bieten die C, Basic und Pascal Compiler an. Bei C
hast du aber die Compiler und IDE direkt vom Hersteller, die im
Gegensatz zu MikroC in der kostenlosen Version keine
Codegrößenbeschränkung haben. MikroC ist beim Kauf aber günstiger. Hier
ist meine Empfehlung: Nimm/Lern C. Sooo ein riesen Unterschied zu Basic
ist es auch nicht (Schleifen, Bedingungen, Funktionen, Variablen, ...
gibt es überall). Du hast mehr (oder überhaupt eine) Auswahl an
Compilern/IDEs und wenn du irgendwann wirklich mal einen PIC32 oder ARM
vor dir hast, wo du die Ressourcen wirklich brauchst, geht es auch
allmählich an C++. Und der Umstieg von C zu C++ ist deutlich leichter
als von Basic.
Also kurz: Wenn du keinen sehr speziellen Einsatzzweck für den uC hast,
ist es nicht möglich, einen speziellen uC oder gar einen Hersteller zu
nennen, der "besser als der andere" ist. Man kann meiner Meinung aber
sagen, dass du mit C besser bedient bist, als mit dem Rest.
Ich kann nur sagen, wenn ich nicht mit Atmel angefangen hätte und vorher
mehr gewusst hätte, dann würde ich heute mit PIC's anfangen.
Was mich daran gestört hatte, der Compiler war (ist glaub ich nicht
mehr?) begrenzt.
Michael Skropski schrieb:> Welcher wird denn nicht unterstützt?
Hier
www.microchip.com/Developmenttools/ProductDetails.aspx?PartNO=PG164130
findest du im Anhang "MPLAB X IDE Release Notes" die Liste "Device
Support.htm".
F. Fo schrieb:> Kleine Entscheidungshilfe:> https://www.youtube.com/watch?v=DBftApUQ8QI
Um Himmels willen, nein!
Dieser Video-Beitrag ist der mit Abstand schlechteste, den ich von dem
Mann je gesehen habe. Zum Thema äußert er sich nur ganz am Rande und
dann heißt es im wesentlichen "ist egal, für jedes Problem gibt es
passende µC von Atmel genauso wie von Microchip". Das hätte man auch in
10 Sekunden sagen können. Und in der Tat sagt er es auch in 10 Sekunden
und den Rest des Videos ranted er darüber, daß die "AVR Fanboys" so
schrecklich ranten würden.
Ich weiß ja nicht was ihm von "AVR Fanboys" schlimmes angetan worden
ist, aber seine Symptome sind verdammt nahe an "behandlungsbedürftig".
F. Fo schrieb:> Ich kann nur sagen, wenn ich nicht mit Atmel angefangen hätte und vorher> mehr gewusst hätte, dann würde ich heute mit PIC's anfangen.
Und warum das? Weil bei den drei großen PIC Familien jeweils was ganz
anderes drin ist? Oder weil die Toolchain unfrei ist?
Axel, hier helfe ich nicht mit bei einem neuen Glaubenskrieg.
Schau dir das Video nochmal an!
Ganz im Anfang rät er sich eben nicht auf einen Hersteller oder auf
einen Controller fest zu legen.
Ich habe noch mehr Gründe, aber das ist meine persönliche Meinung und
ich möchte nicht der Auslöser für den nächsten Glaubenskrieg sein.
Die Frage ist ein "Honeypot" vergleichbar zum
Beitrag "Arduino - bringt's das ?"
Ich rufe mal In Erinnerung,
Chantal schrieb:> Ich suche, eine Plattform, wo ich auf dem Rechner mein Programm> schreiben kann. Gerne irgendwie Basic oder andere leichte> Programmiersprache.
Zwischen "C-Control" vom großen "C" und µC-Programmierung mit
Interrupts, DMA und einer C-IDE mit In-Circuit-Debugger liegen viele
mögliche Zwischenschritte.
Persönlich empfinde ich das TI MSP430 LaunchPad auch als gute und
einfache und preiswerte Einstiegsmöglichkeit. Man kommt schnell "tief
rein" und erreicht aufgrund der vielen Beispiele "out of the box" auch
schnell Ergebnisse. Natürlich hat der MSP430 auch Nachteile (3,6V, wenig
RAM), ist aber verglichen zum ARM noch recht überschaubar. Aber das ist
auch nur eine Meinung von vielen.
Vielleicht ist ein "C-Control" das Richtige?
> Programmierung in Basic, Compact-C und Assembler
Ich denke, es wurde viel gesagt und Chantal sollte sich erstmal melden,
ob sie (?) mit unserer Hilfe was anfangen kann, bevor diese Debatte zum
Selbstzweck (Glaubenskrieg) wird.
Chantal schrieb:> Möchte jetzt wieder einsteigen, aber etwas moderner.> Ich suche,> eine Plattform, wo ich auf dem Rechner mein Programm schreiben kann.> Gerne irgendwie Basic oder andere leichte Programmiersprache.> Dann das Programm über USB auf eine Platine schieben, in welcher ein> Prozessor steckt, welchen ich danach nur noch entnehmen muß, um ihn in> meine Hardware einzusetzen.
Ist vielleicht noch nicht klar geworden, dass man das heute nicht mehr
so umständlich machen muss. Du programmierst (und debugsd) den Prozessor
direkt in deiner Hardware
mit einem Tool, dass dich keine 50€ kostet ...
(auch in dem verlinkten Video zu sehen, die zwei kleineren Teile die der
Typ empfiehlt)
vloki schrieb:> Ist vielleicht noch nicht klar geworden, dass man das heute nicht mehr> so umständlich machen muss.
Das kann ich nur bestätigen. Ich würde aber dringend empfehlen, nicht
auf die Arduino-Bibliotheken mit "Serial.print()-Debugging" herein zu
fallen, denn da macht man sich selbst was vor.
Für weniger Geld gibt es für andere µCs gute IDEs mit vielen Beispielen,
die genauso schnell zum Ergebnis führen und man landet nicht so leicht
in einer Sackgasse.
Zur Not gibt's ja noch die Hilfe hier im Forum.
Mist. Doch Glaubenskrieg? Ich hoffe nicht.
Also ich habe mit dem allgemein verhassten Arduino Angefangen.
Damit wurden dann einige Schaltungen aufgebaut, was auch recht schnell
geht. Für die ersten Schritte braucht man nicht viel mehr als einen
Arduino, eine Steckplatine und eine Hand voll LEDs, Widerständen. Evtl.
Sensoren (Temperatur, Helligkeit...).
Man kommt wirklich sehr schnell und ohne viel Arbeit zu Ergebnissen.
Für fast alles gibt es Librarys.
Man muss sich keine sonderlichen Gedanken um Fusebits machen oder
irgendwelche Datenblätter am besten auswendig können.
Mich hat es irgendwann mal interessiert, was alles in so einem AVR
passiert.
Seit dem beschäftige ich mich mit AVRs allgemein und Assembler
Programmierung. Es ist faszinierend welche Controller einem für
unterschiedliche Möglichkeiten bieten und wie man bemerkt, dass einige
Sachen die man auf mit dem Arduino gemacht hat, sich auch anders,
kleiner, stromsparender und wesentlich schneller realisieren lassen.
Ohne eine Plattform wie sie ein Arduino sie bietet hätte ich mich sicher
nicht so schnell, so viel mehr für das Thema interessiert auch wenn ich
ihn nun fast nicht mehr benutze.
Ich kann das, wenn man denn Atmel als Plattform nutzen will, nur
bestätigen. Zum Einstieg ist das schon gut und auch später die Hardware,
um mal einfach einen Test durchzuführen. Denn es bleibt ein Atmel und
die Arduinos haben auch ne ISP Schnittstelle.
Ich habe jetzt gerade auch angefangen Assembler zu lernen. :-)
Man muss nur den Absprung schaffen.
Hmmm, geht die Debatte also ohne Chantal weiter:
M. M. schrieb:> Ohne eine Plattform wie sie ein Arduino sie bietet hätte ich mich sicher> nicht so schnell, so viel mehr für das Thema interessiert
Ich habe mich ohne Arduino sehr schnell viel mehr für das Thema
interessiert und bin überzeugt, dass das Einarbeiten mit vielen anderen
Plattformen nicht komplizierter oder langsamer geht, als mit Arduino.
Natürlich nicht mit allen. Beispiele nach meinem Eindruck:
MSP430: Super schnell und einfach
STM32: Langsamer, komplizierter
F. Fo schrieb:> Denn … die Arduinos haben auch ne ISP Schnittstelle.
ISP ist kein In-Circuit-Debugger! Ohne ICD prüfst Du Dein Programm
grausam per "Serial.print()" statt mit Breakpoints und dem Auslesen und
Verändern von Variablen.
Arduino + ICD = Dragon
Man kann zum ausprobieren einen "AVR Dragon" oder eine "C Control"
kaufen, die kosten beide über 49€!
Aber beides kostet zum "nur mal ausprobieren" vergleichsweise viel Geld,
falls der "Krempel" am Ende in der Rümpelkiste landet.
Ein "MSP430 Launchpad", ein "STM32 Nucleo", ein "CY8CKIT-049" oder ein
"XMC 2Go" z.B. bedeuten zum "nur mal ausprobieren" ein deutlich
geringeres finanzielles Risiko (5€..10€, In-Circuit-Debugger
inclusive!).
Die teuren Sachen kann man sich immer noch kaufen.
Wir können doch alle nicht wissen, wovon sich Chantal angesprochen
fühlt. Die Programmiersprache BASIC steht ja auch noch zur Diskussion.
@Chantal: Sag bitte mal was. :-) Oder bist Du ein Fake?
Hallo,
danke für die vielen Infos.
Nach meiner bescheidenen Analyse hab ich mich jetzt ziemlich sicher auf
PIC eingeschossen.
Ein Fake bin ich aber nicht.
Hab Anfang der achtziger Jahre schon Programme mit selbst gebauten
Konvertern über 2m übertragen.
CW-Decodierprogramm bis 150BPM war mein erstes.
Lagerhaltung und Bestellprogramm, statistische Auswertung für autom.
Bestückung geschrieben usw.
Dann eigene CNC-Anlage gebaut, vom 386 über Max232 in den C128 rein und
meine Printplatten automatisch gebohrt. Später zum Fräsen erweitert.
GPS-Programm geschrieben, NMEA die Strings ausgewertet und graphisch
dargestellt.
Danach Pause.
Aber jetzt, kurz vor der Rente, will ich wieder basteln.
Hoffe, Ihr könnt mir da unter die Arme greifen.
Danke nochmal für die Tipps.
Chantal schrieb:> Danke nochmal für die Tipps.
Damit hört hoffentlich der "Glaubenskrieg" auf. :-)
Chantal schrieb:> Nach meiner bescheidenen Analyse hab ich mich jetzt ziemlich sicher auf> PIC eingeschossen.
Ich bin gespannt, welches Entwicklungs-Board Du dabei benutzt.
Interessante Controller hat Microchip, ohne Frage!
Ich habe für PICs bisher leider kaum passende Hardware gefunden, ohne
selbst enge SMDs löten zu müssen.
Chantal schrieb:> Aber jetzt, kurz vor der Rente, will ich wieder basteln.
Das sind bei mir noch 20 Jahre. :-(
Torsten C. schrieb:> Ich habe für PICs bisher leider kaum passende Hardware gefunden, ohne> selbst enge SMDs löten zu müssen.
??? PICs gibt es doch von 8 - 32 Bit im DIP Package
Chantal schrieb:
> Aber jetzt, kurz vor der Rente, will ich wieder basteln.
Torsten C. schrieb:
> Das sind bei mir noch 20 Jahre. :-(
Bist du dir da wirklich sicher? ;-)
M. M. schrieb:> Also ich habe mit dem allgemein verhassten Arduino Angefangen.> Damit wurden dann einige Schaltungen aufgebaut, was auch recht schnell> geht. Für die ersten Schritte braucht man nicht viel mehr als einen> Arduino, eine Steckplatine und eine Hand voll LEDs, Widerständen. Evtl.> Sensoren (Temperatur, Helligkeit...).> Man kommt wirklich sehr schnell und ohne viel Arbeit zu Ergebnissen.> Für fast alles gibt es Librarys.> Man muss sich keine sonderlichen Gedanken um Fusebits machen oder> irgendwelche Datenblätter am besten auswendig können.
Und genau das finde ich zum Lernen bedenklich. Es blendet enorm viel
aus.
Man fängt mit einem Arduino oder Raspy an und hat in einer Std. Arbeit
ein funktionierendes LCD/Thermometer/Internetradio ohne jedoch annähernd
zu verstehen was da erstmal dahinter steckt.
Das kann den Blick auf die Komplexität sehr stark verziehen und holt
einen spätestens dann ein, wenn man sein eigenes Projekt "from scratch"
starten will.
Diese Klicki-Bibliotheks-Fertig-Lösungen sind für gezielte Anwendung
sehr gut. Aber zum Erlernen der Materie finde ich sie den falschen Weg.
Chantal schrieb:> Aber jetzt, kurz vor der Rente, will ich wieder basteln.
Witzig, genau wie der Wilhelm ?
-> Anfänger in C und welcher PIC (evtl. uno32) ist geeignet ?
Falls du dir auch ein PICKIT3 Starter kaufen solltest, müssen wir wohl
eine kleine Einstiegsanleitung schreiben ;-)
Wenn man komplett neu anfängt ist es sehr oft hilfreich sich auch in
seiner unmittelbaren Umgebung umzusehen.
Ein direktes Gespräch und Hilfeleistung ist zumeist wertvoller als ein
gutes Forum.
Ich habe es schon einige male erlebt das sich mehr oder weniger gut
Bekannte sich "den µC" und "die Entwicklungsumgebung" besorgt haben, da
sie um vieles besser und leistungsfähiger als vorhandenes sind und es
ein ganz tolles Forum gibt.
Nach kurzer Zeit war das ganze aus Frust weggeräumt, das Forum hat sich
als doch nicht so informativ erwiesen und im Bekanntenkreis konnte
niemand helfen.
Wie gut der µC dann wirklich ist stellt sich erst heraus wenn man sich
eingearbeitet hat und feststellt wo die Grenzen sind. Wenn aber die
Starthürden zu groß sind kommt man nie so weit.
Hubert G. schrieb:> Wenn man komplett neu anfängt ist es sehr oft hilfreich sich auch in> seiner unmittelbaren Umgebung umzusehen.> Ein direktes Gespräch und Hilfeleistung ist zumeist wertvoller als ein> gutes Forum.
Absolut richtig !!!