Guten Abend Da ich in der letzten Zeit vermehrt Zeit habe möchte ich endlich aus menem Arduino Schatten springen und richtig schreiben lernen. Ich möchte Atmega und Attiny eventuell MSP430 programmieren, in Anwendungen wie zB. Sensoren auslesen und über Netzwerk ICs Daten senden sowie die Ansteuerung von einfacher Hardware, zB. TRX ICs (Si4060) und von LCD Anzeigen. Also eigentlich keine kompplexen Sachen... Welche Sprache eignet sich dafür? Uch habe folgende in der näheren Auswahl: C mit Atmel Studio- gibt es irgendwo dazu eine komplette Einstiegsanleitun für Widows? Ada, ist das aktuell mit kostenloser Software möglich, und wie sinnvoll ist es als Privatperson? Wie viel komplexer werden die oben genannten Sachen damit? Rust, siehe "Ada" C++ , auch hier. Es sollten jeweils Compiler vorhanden sein mit denen ich für die Prozessoren kompilieren kann. Schönen Abend
siehst du ;-) mit Arduino schon einiges gemacht und einfachste Fragen kannst du nicht beantworten. Das ist Arduino. Linke Seite ---> "AVR" (dort gibt es sogar Tutorials dazu)
zitter_ned_aso schrieb: > Linke Seite ---> "AVR" (dort gibt es sogar Tutorials dazu) Ähm, da fehlt bei Software "MPLAB X IDE". (wäre gut das zu ergänzen)
Guten Abend ! Naja, ich kann mir das eigentlich schon beantworten? Nur was hilft mir das? Ich möchte es ja von anderen konkret wissen, im Internet ließt man jeweils alles von "sehr gut" bis "bescheuert".
Lorenz schrieb: > gibt es irgendwo dazu eine komplette > Einstiegsanleitung für Windows? Meinst du eine Anleitung, wie man in C Programmiert, oder eine Anleitung für einen bestimmten Mikrocontroller oder eine Bedienungsanleitung für das Atmel Studio? C lernt man am Besten zunächst ohne Mikrocontroller. Für den Anfang ist die Qt Creator IDE einfach zu installieren und Anwenderfreundlich - zudem eignet sie sich auch zur Programmierung von Mikrocontrollern.
Lorenz schrieb: > Da ich in der letzten Zeit vermehrt Zeit habe möchte ich endlich aus > menem Arduino Schatten springen und richtig schreiben lernen. Dann bleib doch bei C++ mit dem GCC
Lorenz schrieb: > Naja, ich kann mir das eigentlich schon beantworten? > Nur was hilft mir das? Wenn Dir nicht mehr zu hgelfen ist, was willste dann hier? 'ne Portion Mitleid für umsonst??
ohne Arduino ---> dann C. Aber vorher ein paar Tutorials zu C am Computer durchgehen.
Stefanus F. schrieb: > Lorenz schrieb: >> gibt es irgendwo dazu eine komplette >> Einstiegsanleitung für Windows? > > Meinst du eine Anleitung, wie man in C Programmiert, oder eine Anleitung > für einen bestimmten Mikrocontroller oder eine Bedienungsanleitung für > das Atmel Studio? > > C lernt man am Besten zunächst ohne Mikrocontroller. Für den Anfang ist > die Qt Creator IDE einfach zu installieren und Anwenderfreundlich - > zudem eignet sie sich auch zur Programmierung von Mikrocontrollern. Also Erfahrung habe ich folgende: Arduino, einfache SW mit Libarys C++ am PC für eine .exe Sachen (Berechnungen) Jeweils mit Eclipse und Dev C++ Bzgl. Anleitung Suche ich einfach etwas durchgängiges, derzeit habe ich einen Programmieradapter und ATnmel Studio, damit kann ich den Prozessor seinen "Namen" auslesen aber das wars schon. Wie geht es weiter, ein Start wo Sachen grundlegend erklärt werden wäre nett.
Lorenz schrieb: > Bzgl. Anleitung Suche ich einfach etwas durchgängiges http://stefanfrings.de/mikrocontroller_buch/index.html
Ich nehme C++ für alle Plattformen. Warum auf Objekte und Kapselung verzichten?
Lorenz schrieb: > Bzgl. Anleitung Suche ich einfach etwas durchgängiges, derzeit habe ich > einen Programmieradapter und ATnmel Studio, damit kann ich den Prozessor > seinen "Namen" auslesen aber das wars schon. Um nicht immer mit dem Programmieradapter rumhantieren zu müssen, wäre ein Bootloader auf dem Zielsystem ein erste Schritt - jedenfalls wenn das Ding über irgendeine PC-taugliche Schnittstelle verfügt.
Fuer den 8051 koennte man auch PL/M51 in die engere Wahl ziehen. Praktisch alles was bei "C" kritisiert wird, ist da sauber geloest.
Stefanus F. schrieb: > Lorenz schrieb: >> Bzgl. Anleitung Suche ich einfach etwas durchgängiges > > http://stefanfrings.de/mikrocontroller_buch/index.html Ok, wirklich gut, dann wird es wahrscheinlich C werden! Trotzdem, irgendwie geht mir ADA nicht aus dem Kopf, gibt es da eine ähnliche PDF Sammlung? Es soll ja bei weitem weniger Fehler als C produzieren und ich muss ja nicht den "normalen" Weg gehen, es ist ja fürs Hobby. Danke für die Hilfe bisjer
Lorenz schrieb: > Ok, wirklich gut, dann wird es wahrscheinlich C werden! > > Trotzdem, irgendwie geht mir ADA nicht aus dem Kopf, gibt es da eine > ähnliche PDF Sammlung? Ich möchte meinen ersten Marathon laufen. Welche Schuhe dafür? Laufschuhe, OK. Aber mit Reitstiefeln soll man auch lange Strecken bewältigen können. Oder doch Holzschuhe? Antwort: es ist egal. Nimm das, was da ist. Und wenn Du das 3 Mal gemacht hast, dann probiere auch gern Mal Holzschuhe.
Lorenz schrieb: > im Internet ließt man Dann lasse das Lesen besser sein, bevor Dich die Ideen verlassen. PittyJ schrieb: > Ich nehme C++ für alle Plattformen. Ich glaube, dass das aktueller Standard ist: Beliebige Hardwareplattformen werden in C / C++ betan, solange es nicht extrem zeitkritisch ist.
Lorenz schrieb: > Trotzdem, irgendwie geht mir ADA nicht aus dem Kopf Ich kann Dir bei ADA nicht helfen, kenne ich nicht. Es ist immer gut, mehrere Programmiersprachen zu erlernen. Aber C/C++ muss dabei sein. Im Mikrocontroller Umfeld ist das einfach der Platzhirsch, wie Windows auf dem Desktop PC. Früher oder später wirst du mit C/C++ Quelltexten konfrontiert sein - sei es nur als Modul/Plugin. Praktisch alle Programmiersprachen haben Adapter für C/C++ Bibliotheken.
Fast alle Beispiele oder Libraries sind in C/C++. Da ist nichts in Ada. In 30 Jahren Programmiererleben ist mir auch noch keine Anwendung, sei es PC oder Microcontroller, in Ada untergekommen. Das heisst nicht, dass Ada schlecht wäre. Nur in der freien Wildnis trifft man Ada eher selten.
Hallo, die AVR- Mikrocontroller wie von Dir genannt, kannst Du in C (AVRGCC) oder Assembler programmieren. Mit Assembler lernst Du die Innereien des Prozessors gut kennen, welches Dir für C einige Vorteile bietet. Mittels C bleiben Dir sonst einige Details der Hardware verborgen oder Du erkennst deren Relevanz nicht. Am besten wäre, beides zu können. Mit Kenntnissen in C alleine lassen sich trotzdem umfangreiche und komplizierte Programme erstellen. Ich habe früher Assembler gelernt mit dem At90S2313, das war schon aufwändig genug. Aus heutiger Sicht halte ich dieses Modell für"überschaubar". Für erste Experimente in C war er auch gut geeignet. Tutorials gibt es hier auf dieser Seite genügend zu finden. Probiere halt mehrere aus. MfG
In Wirklichkeit sind Sprachen wie BASIC, Pascal, C, Ada und auch C++, Java und Rust nicht so unterschiedlich (von ein paar wenigen Dingen abgesehen). Die unterscheiden sich hauptsächlich in der Syntax. Ganz etwas anderes ist FORTH, das schadet m.E. auch nicht sich das mal genauer anzuschauen. Es gibt recht brauchbare freie FORTHs für kleine µCs wie STM8. Weniger wahrscheinlich anzutreffen auf einem µC ist sowas wie LISP oder SCHEME, schadet aber auch nicht, sich damit mal auseinanderzusetzen. Eine gängige Sprache sollte man sich aussuchen, in der man Programme schreibt (für Mikrocontroller am ehesten C und C++). Lorenz schrieb: > Trotzdem, irgendwie geht mir ADA nicht aus dem Kopf Da gibts das GNU Ada Toolkit GNAT. Bin vor kurzem über ADA auf Cortex-M "gestolpert", finde den Artikel jetzt zwar nicht mehr, aber hier ein paar Anknüpfungspunkte die google ausgespuckt hat: http://www.inspirel.com/articles/Ada_On_Cortex.html https://github.com/Fabien-Chouteau/ACNC https://github.com/adacore/svd2ada
Ist schon Klasse wie hilflos die Leute heute sind. Am besten nur noch vorgekauten Einheitsbrei aufnehmen. Zu meiner Zeit hat man sich selbst einfach mal ausprobiert und ist bei dem geblieben was einem gefallen hat oder wechselt je nach Aufgabenstellung mal zu was anderem. Heute schwimmt man wohl lieber mit dem Strom. Mir solls recht sein, weniger Konkurrenz auf dem Arbeitsmarkt... Letztlich machen doch alle Sprachen irgendwo das gleiche - der Maschine sagen was sie machen soll. Ob man das nun mit Assembler, C, C++, C#, Python Java, Groovy, Fortran, Python, Perl, Shell oder BAT (Alles schon gebraucht) macht, entscheidet im Endeffekt der Anwendungsfall. Christian S. schrieb: > oder Assembler programmieren. Mit Assembler lernst Du die Innereien des > Prozessors gut kennen, welches Dir für C einige Vorteile bietet. Mittels > C bleiben Dir sonst einige Details der Hardware verborgen oder Du > erkennst deren Relevanz nicht. Am besten wäre, beides zu können. Mit > Kenntnissen in C alleine lassen sich trotzdem umfangreiche und > komplizierte Programme erstellen. Das mit den Innereien stimmt, aber in wiefern man Assembler braucht um "umfangreiche und komplizierte" Programme zu erstellen erschließt sich mir nicht. Eher das Gegenteil ist der Fall. Auch das hier wieder gebetsmühlenartig vorgetragene: Manfred schrieb: > Ich glaube, dass das aktueller Standard ist: Beliebige > Hardwareplattformen werden in C / C++ betan, solange es nicht extrem > zeitkritisch ist. ist im allgemeinen nicht richtig. Die CPU Hersteller haben dermaßen viel Gehirnschmalz in die Compiler gesteckt, so dass im allgemeinen nur noch die Entwickler der CPU selbst in der Lage sind die Compiler performancemäßig zu schlagen. (In einer CPU passiert wesentlich mehr, als einfach nur stupide Befehle nacheinander abzuarbeiten, ich sag nur Register Interlocks, Read/Write Barriers, Out of Order Execution....) Zum Thema: C/C++ ist ein guter Anfang, Arduino Sketches sind nichts anders. Ada ist auf jeden Fall nicht uninteressant, das wird u.a. im Bereich sicherheitskritischer Software eingesetzt.
8 Bit Microcontroller mit objektorientierten Sprachen m) Leute, was stimmt nicht mit euch? Da muss mnan sich echt nicht mehr wundern, warum so viele aktuelle Geräte absaufen können, oder ewig lange brauchen um zu reagieren. Und das bei Anwendungen, die auch hart verdrahtet realisierbar wären. Bei einem 8 Bit Micro ist die Frage wirklich nur, nehme ich C, oder schreibe ich es gleich in Assembler?
Mehrere Programmiersprachen zu können, schadet nie - so wie es auch bei anderen Sprachen ist. Man kann sich für eine weit verbreitete Sprache entscheiden oder auf etwas Besonderes spezialisieren - beide Ansätze haben ihre Berechtigung! Jeden Prozessor kann man in Maschinencode programmieren (Binse), den gibt es also immer. Das ist aber so mühsam, daß es nur in absoluten Ausnahmefällen sinnvoll sein dürfte. Assembler gibt es auch für nahezu jedes Zielsystem, aber leider passen die immer nur für eine Familie oder Linie. Ich würde Assembler heute nur noch als Inline-ASM in ganz speziellen Fällen nutzen. Meistens wird der Assembler dann umgehend verwendet, um einen C-Compiler zu erstellen, weshalb es auf nahezu jedem Zielsystem eben C gibt. Folglich ist C die Sprache, die auf den meisten potentiellen Zielsystemen verfügbar sein wird vom µC bis zum Großrechner. Zudem hat C viele andere "moderne" Sprachen beeinflußt, z.B. Java, Perl, Python, Matlab, R. Andere Ansätze haben Forth, Fortran, Cobol, Basic, Pascal, Oberon usw.
Ich würde in Assembler coden, damit kannst du das Maximum aus der CPU heraus rocken. Besonders wenn es um CPUs mit wenig Ressourcen geht wie Attiny.
Hallo, CPU Historiker schrieb: > CPU heraus rocken Was soll das bedeuten? in meinen Jahrzehnten ist der Branche ist dieser Begriff nie aufgetaucht.
Karl M. schrieb: > Was soll das bedeuten? in meinen Jahrzehnten ist der Branche ist dieser > Begriff nie aufgetaucht. Das ist sowas, wie in der Analogtechnik die Amper hochskillen ... SCNR, WK
Das habe ich in einer Stellenanzeige gelesen: Die Software-Entwicklung nimmt eine ganz entscheidende Rolle in der Produktentwicklung ein. Im hardwarenahen Bereich rockt die Software das Maximum aus der Hardware heraus und schafft somit erstaunliche Performance. Klingt doch gut, oder?
Pascal oder C sind die richtige Wahl Ada, rust etc sind keine Option da kaum vetreten, basic ist nicht nennenswert leichter als Pascal. Auf dem Arbeitsmarkt kommst Du mit Pascal und C weiter, mit Basic vermutlich nicht
Gegeg J. schrieb: > Pascal oder C sind die richtige Wahl > Ada, rust etc sind keine Option da kaum vetreten, basic ist nicht > nennenswert leichter als Pascal. > Auf dem Arbeitsmarkt kommst Du mit Pascal und C weiter, mit Basic > vermutlich nicht lol
Vincent H. schrieb: > lol welch geistreicher Kommentar. Da haben wir wohl wieder ein ganz besonders helles Lööpfchen aus diesem Forum lol Wenn ich mi BAsic falsch liege korrigiere mich, aber ich kenne aktuell kaum Jobangebote dafür. PAscal ist immer gesucht und gut bezahlt da schwer Leute dafür zu finden sind. C Ist dermaßen überlaufen, das nur die besten echt gut bezahlt werden. Der Rest der C Programmierer ist heute so was wie ein KFZ Mechnaiker vor 20 Jahren. Massenprodukt
CPU Historiker schrieb: > Im hardwarenahen Bereich rockt die Software das > Maximum aus der Hardware heraus und schafft somit erstaunliche > Performance. > > Klingt doch gut, oder? Naja für nen Laien vielleicht. In Real ist es nun mal so das Software immer die Hardware abbremst, prinzipbedingt, das kann man nicht verhindern. So wie die Steuerung der Flugrichtung eines Flieger über diw Leitwerke --- willst nach steuerboard schwenken, musste steuerboard abbremsen, dann zieht es die Nse rum. Oder schlechte Kanuten, die einfach steuerboards das Padel gegen die Strömung stemmen ... Gute Software ist nun mal die, die am wenigstens die Hardware (durch Software-Overhead (bspw durch Runtime-monitoring)) bremsen muß um die Daten in die gewünschte Richtung zu prozessieren. Einige Softwerker kaschieren nun ihr Unvermögen wenig bremsend in die Hardware zu greifen mit den Ruf nach potenter Hardware, weil die immer zu langsam wäre ... Schuld haben halt immer die anderen.
Gegeg J. schrieb: > Vincent H. schrieb: >> lol > > welch geistreicher Kommentar. > Da haben wir wohl wieder ein ganz besonders helles Lööpfchen aus diesem > Forum *lol* Bitte geh woanders trollen Hawera.
lol....dann solltest Du mal nicht nur bei einer Agentur suchen Du Clown Wenn Du es mit der Jobsuche schon nicht raus hast wie programmierst Du wohl? 463 Delphi Jobs https://de.indeed.com/Delphi-Jobs
jep..und nun lies noch mal was ich geschrien habe, und dann schalt mal dein Funzel ein und dann erspare dir weitere sinnfreie Kommentare..ich jedenfalls will den Faden mit dieser Randdiskussion nicht weiter belasten. C Jobs gibt es immer genug, Programmierer dafür gibt es haufenweise und bald wie Sand am Meer
Vor zehn Jahren hatte ich in der Firma mit einem FORTH project zu tun. Wir hatten da ein auf LPC2476 beruhendes system mit 320x240LCD. Ein Kollege baute damals ein auf FORTH beruhendes Testsystem für diese HW. Da konnte man über die Serial Link mit dem Gerät kommunizieren. Man konnte das in C geschriebene System sehr leicht mit neuen Keywords und Funktionen erweitern und ich fand das damals als recht kool. Sogar als Calculator im HP RPN Stil war die SW brauchbar. Für die HW Testzwecke hat sich das damals sehr gut bewährt und wahr sehr flexibel. Man konnte wunderbar Testskripte schreiben die das FORTH Kommandosystem abarbeitete. Ich fand die ganze Angelegenheit als sehr flexibel. Ansonsten sehe ich das 50 Jahre C oder C++ immer noch für viele Anwendungen als mehr als ausreichend. Da auch die viele Werkzeuge damit ausgestattet sind hat man viel Auswahl. Wenn auch mit den bekannten Eigenheiten und Schrullen behaftet, kann man damit trotzdem gut arbeiten. Aber es kann ja jeder selber bestimmen welche Sprache er verwenden will. Ich kenne einige Ingenieur Firmen in meinem Umkreis die embedded Industrie Elektronik entwickeln. Es werden dort hauptsächlich STM32, LPC, AVR, PIC und früher Freescale Architekturen verwendet. Alle verwenden dort ausnahmslos C und C++. Als ich mal fragte warum man so denkt, wurde mir geantwortet, daß man damit trotz der bekannten Besonderheiten doch noch am Besten klarkommt und es effizient die Ressourcen ausnützt. Als erfahrene Entwickler macht C die keine Schwierigkeiten weil man sich mit den Schwächen gut auskenne. Da dort mit komerziellen Werkzeugen gearbeitet wird, ist die Wahl der Sprache sowieso sehr begrenzt. Die Entwickler hatten übrigens früher alle für HP in der SW Entwicklung für Protokol Analysatoren gearbeitet. Da wurde übrigens auch FORTH sehr viel verwendet. Aber alles beruhte systemmäßig auf C.
Laborratte schrieb: > Da wurde > übrigens auch FORTH sehr viel verwendet. Forth ist für Harvard Systeme eher suboptimal. Es sind einige Klimmzüge nötig. Denn traditionell werden Code und Daten intensiv gemischt. TheBug schrieb: > 8 Bit Microcontroller mit objektorientierten Sprachen m) > Leute, was stimmt nicht mit euch? Und, was ist mit dir? Irgendwas stimmt doch mit dir nicht. Keine Argumente? Nur Polemik und Meinungsmache.
Lorenz schrieb: > Ich möchte Atmega und Attiny eventuell MSP430 programmieren, Das sind aber eher Mikrocontroller als Mikroprozessoren, da den beiden genannten jeweils eine MMU fehlt. Das ist keine allgemeingültige Definition zur Unterscheidung aber ich finde sie sehr passend. Lorenz schrieb: > Ada, ist das aktuell mit kostenloser Software möglich, und wie sinnvoll > ist es als Privatperson? > Wie viel komplexer werden die oben genannten Sachen damit? > > Rust, siehe "Ada" Rust halte ich für sehr sinnvoll. Durch den strengen Compiler (Borrowing, Lifetimes, etc.) wird man dazu gezwungen sauberen Code zu schreiben. Durch Rust wird man also gewissermaßen auch zum besseren C- bzw. C++-Programmierer. Außerdem läuft Rust auch selbst auf kleinen Controllern wie MSP430, weil man damit sehr kompakten Code erzeugen kann.
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.