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??
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, 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.
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.htmlhttps://github.com/Fabien-Chouteau/ACNChttps://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.
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.