Forum: Mikrocontroller und Digitale Elektronik AVR Mikrocontroller Lohnenswert?


von Robert (Gast)


Lesenswert?

Hallo!
Ich habe neulich von einem Bekannten sämtliche Bücher geschenkt 
bekommen, da ich ihm gesagt habe das ich mich für Elektronik & 
Mikrocontroller interessiere.
Unter anderem ist ein Buch namens "AVR Mikrocontroller Programmieren in 
C" (Erschiene 2010) dabei. An sich sehr interessant, da es kompakt ist 
und ein paar Projekte enthält.
Meine Frage : Ist es noch lohnenswert mit AVR Atmel Chips anzufangen?
Oder soll man direkt mit moderneren Chips loslegen?

Ich freue mich auf eure Antworten!

:
von Falk B. (falk)


Lesenswert?

Robert schrieb:
> Meine Frage : Ist es noch lohnenswert mit AVR Atmel Chips anzufangen?

Ja, weil eher klein und überschaubar und sehr verbreitet, was Projekte 
und Lernmaterial angeht.

> Oder soll man direkt mit moderneren Chips loslegen?

Kann man machen, ist aber nicht zwingend, ggf. eher ungünstig, weil die 
moderneren 32 Bit Controller auch deutlich komplexer sind. Wer das 
kleine 1x1 auf dem AVR lernt, kann dann problemlos aufsteigen.

von Blablub (Gast)


Lesenswert?

Kurz um die Grundlagen kennenzulernen sicherlich, denn diese sind auch 
bei anderen Plattformen immernoch grundsätzlich nicht viel anders.

Dann aber schnell auf modernere Plattformen wechseln:
- STM32
- ATSAM
- ESP32
- embedded Linux

Und vor allem Frameworks sind heute gefragt, im privaten Bereich jedoch 
nicht ganz so entscheident.

von Wendels B. (wendelsberg)


Lesenswert?

Blablub schrieb:
> Und vor allem Frameworks sind heute gefragt,

Das gibt dann LED-Blinker mit gefuehlten 800 kB Flashbedarf.

von Frank K. (fchk)


Lesenswert?

Für die Grundlagen ist es egal, womit Du anfängst. Das Faktenwissen über 
konkrete Chips, ihre Register und die Entwicklungsumgebung hat eine 
geringe Halbwertszeit.

Viel wichtiger ist das Methodenwissen, wie Du an eine Aufgabe 
herangehst, wie Du Datenblätter liest (ja, die sind auf English, und 
wenn Du Probleme damit haben solltest, dann tust Du gut daran das zu 
ändern), das Verständnis für interne Abläufe und Strukturen usw usw.

Die klassischen AVRs haben aus heutiger Sicht Schwächen. Sie haben 
relativ wenige und relativ dumme Peripherieeinheiten, sie haben nicht so 
gute Debugmöglichkeiten, man kann sich durch fehlerhafte Programmierung 
aussperren, und sie laufen nur bei 5V mit ihrer vollen Taktrate. Es gibt 
moderne AVRs, die diese Schwächen nicht mehr haben, und es gibt 
Alternativen: PIC24, dsPIC33 und PIC32 sind recht angenehm und haben 
deutlich mehr Leistung, und ARM-basierte Controller gibts von dutzenden 
Herstellern, wenn auch in der Regel nicht in bastelfreundlichen 
Gehäusen.

Aber insgesamt ist es egal, womit Du anfängst. Wichtig ist, dass Du 
lernst zu lernen, und dass Du Dich nicht auf eine Sache versteifst und 
dann mit dem Lernen aufhörst.

Ich habe vor etwa 40 Jahren mit Z80 angefangen zu programmieren, und 
nach einem Jahr war ich so weit, dass ich zu den mesiten Opcodes den 
Hexwert wusste und direkt eintippen konnte. Für die nächste Architektur 
6502 habe ich dann nur noch 6 Wochen gebraucht, bis ich genauso weit 
war. Seitdem sind noch etwa 20 verschiedene Architekturen dazugekommen.

fchk

von M.A. S. (mse2)


Lesenswert?

Blablub schrieb:
> Dann aber schnell auf modernere Plattformen wechseln:
> - STM32
> - ATSAM
> - ESP32
> - embedded Linux
Kann man machen oder man bleibt beim AVR weil das, was man vor hat, so 
wenig komplex ist, dass es damit geht.
Es kommt also (wie immer) darauf an, was man damit machen will.

von Pepe T. (pepe_t)


Lesenswert?

Ein arduino uno kostet gerade mal 3 eur. Das arduino IDE ist einfach und 
schnell zu erlernen. Das ist ein idealer einstieg.

Kannst natürlich auch das AVR studio benuzen wenn du maso tendenzen 
hast.

von Hans (Gast)


Lesenswert?

Nu ja,

Don't feed the Troll

Hans

von Kinogänger (Gast)


Lesenswert?

Hans schrieb:
> Don't feed the Troll

Bier, Chips ........

von Ein Ratschlag (Gast)


Lesenswert?

Falls uns die Asiaten keine Chips mehr liefern sollten - eine Fab für 
die alten Atmel würden wir hier in Deutschland notfalls auch noch 
zustande bringen.

War in der DDR auch so - da lernten die Studenten auf 8080 Clones. Bei 
modernen Chips kam es immer wieder zu Versorgungsengpässen.

von Gerhard O. (gerhard_)


Lesenswert?

Ein Ratschlag schrieb:
> Bei
> modernen Chips (kommt es |kam es } immer wieder zu Versorgungsengpässen.

Wo habe ich das schon mal gehört?;-)

von Georg M. (g_m)


Lesenswert?

Robert schrieb:
> Ist es noch lohnenswert mit AVR Atmel Chips anzufangen?

Atmel hat keine Zukunft.

Beitrag #6976818 wurde von einem Moderator gelöscht.
Beitrag #6976823 wurde vom Autor gelöscht.
von EAF (Gast)


Lesenswert?

Robert schrieb:
> Meine Frage : Ist es noch lohnenswert mit AVR Atmel Chips anzufangen?
Ja!

Robert schrieb:
> Oder soll man direkt mit moderneren Chips loslegen?
Ja!

Ist das ein Widerspruch?
Jain!

von Yalu X. (yalu) (Moderator)


Lesenswert?

Georg M. schrieb:
> Atmel hat keine Zukunft.

Richtig, Atmel hat nicht einmal eine Gegenwart.

Aber darum geht es in dem Thread ja gar nicht, sondern um
AVR-Mikrocontroller.

von W.S. (Gast)


Lesenswert?

Robert schrieb:
> Ich habe neulich von einem Bekannten sämtliche Bücher geschenkt
> bekommen,...

also alle, die es auf unserem Planeten so gibt? Alle Achtung. Da hast du 
lang dran zu lesen.

Aber ich schätze, daß du eigentlich meinst "ich habe neulich von einem 
Bekannten sämtliche Bücher geschenkt bekommen, die ich mir mit meinem 
doch eher endlichen Verstand zum Thema Elektronik so vorstellen kann". 
Naja, wenn du so fragst, wie man es aus dem Eröffnungspost herauslesen 
kann, dann befasse dich ruhig mit den AVR und dem zugehörigen Buch. 
Hoffentlich sind die fertigen Beispiel-Projekte deinem Geschmack 
entsprechend.

W.S.

von Georg M. (g_m)


Lesenswert?

Dislikes für eine wahre Aussage? Mann Mann Mann...

von Jobst M. (jobstens-de)


Lesenswert?

Robert schrieb:
> Ist es noch lohnenswert mit AVR Atmel Chips anzufangen?

Pro:

- Einfache 8-Bit Plattform mit einfacher integrierter Hardware.
- Gute Dokumentation.
- Du hast die Bücher.
- Auch relativ einfach in ASM programmierbar, trotz RISC-Architektur 
relativ umfangreicher Befehlssatz.
- Mit nur einem Takt Abarbeitungszeit bei den meisten Befehlen recht 
flink.
- In bastelfreundlichen Gehäusen zu bekommen. Und dies wird dank 
Microchip vermutlich auch noch lange so bleiben. (TI z.B. kündigt DIL 
derzeit ab)
- Braucht im Prinzip nur Spannung.

Kontra:

- Einen Linux-Kernel (in Emulation) darauf zu booten dauert ein paar 
Tage.

Es gibt eigentlich kein wirkliches Argument dagegen, um mit einem AVR 
einen Einstieg zu machen.

Noch ein paar Dinge:

Atmel wurde an Microchip verkauft und die neueren AVR verPICkeln immer 
mehr. Ich hoffe aber dennoch, dass Dinge wie 5 Bit Stack, 13 Bit 
Kommandos und 17 Bit Adressbusse beim PIC bleiben.
(Als ich einem Bekannten letztens noch 11 7 Bit Register hinzudichtete 
bekam dieser einen leicht panischen Blick.)

Grundsätzlich hast Du bei 8-Bit Controllern den Vorteil, dass Du Dich 
nicht noch zusätzlich mit Dingen wie unterschiedlichen Clock domains, 
Port-Matrix, IRQ-Prioritäten oder komplexerer Hardware herumschlagen 
musst. (Obwohl es das auch da gibt - aber nicht beim einfachen AVR.)

Wenn Du noch eine Stufe weiter herauszoomen möchtest, wäre der standard 
8051 noch interessant. Da kannst Du dann auch RAM und ROM extern 
anbinden. Ist aber wieder eine Fehlerquelle. Havard und v. Neumann kann 
man dort beides realisieren. Aber hast Du ja wahrscheinlich keine Bücher 
für und ist, was den Aufbau angeht, auch wieder anspruchsvoller.

Du kannst DIL-AVRs auf's Steckbrett drücken oder auf Lochraster löten, 
zwei Kondensatoren dazu - läuft. Du kannst fertige Bastelboards (DAUino 
oder so ...) benutzen und in der heutigen Zeit auch recht einfach und 
günstig eigene Platinen designen und fertigen lassen.

Viel Spaß!

Gruß
Jobst

von Ein Kommentar (Gast)


Lesenswert?

Die Frage ist doch berechtigt.

Programmierung auf den 32Bit MCs packt man ganz anders an. Jedes Bit 
verstehen geht eh nicht mehr. Da sucht man sich RTOS und Libraries, die 
sich irgendwie um die Details kümmern. Heutzutage hat das mehr 
Ähnlichkeit mit PC-Programmierung, als mit der 
Mikrocontroller-Programmierung vor 20 Jahren.

Ein Schlosser muss in seine Lehre auch 2 Wochen mit der Feile gearbeitet 
haben. Gehört zum Allgemeinwissen eines Schlossers. Bin der Meinung, 
diese Bitfummelei gehört genau so zur Ausbildung eines Entwicklers. Auch 
wenn man es nie wieder braucht.

von Der müde Joe (Gast)


Lesenswert?

Ich denke auch, dass das auf keinen Fall Zeitverschwendung ist. Bis man 
an die Leistungsgrenze von 8-Bit-Mikrocontrollern kommt, dauert es recht 
lang.
Ich mag dieses Forum hier, habe aber meistens Controller anderer 
Hersteller in Arbeit. Darum habe ich nicht soo viel Unterstützung. Aber 
wenn du mit AVR anfängst, passt das optimal. Mehr Hilfe als hier wirst 
du fast nicht bekommen können.

Viel Erfolg!

von Blablub (Gast)


Lesenswert?

Ein Kommentar schrieb:
> Bin der Meinung,
> diese Bitfummelei gehört genau so zur Ausbildung eines Entwicklers. Auch
> wenn man es nie wieder braucht.

Also einen STM32 programmiere ich abgesehen von der fetten Peripherie 
wie beispielsweise Ethernet oder USB nach wie vor auf Registerebene. 
Sämtlicher Hardwarezugriff gekapselt in eine eigene Klasse und in der 
Regel wenige Zeilen Code.

Wofür brauche ich für ADC, DAC, GPIO, RCC, DMA oder Timer eine 
aufgeblähte HAL?

von W.S. (Gast)


Lesenswert?

Jobst M. schrieb:
> Es gibt eigentlich kein wirkliches Argument dagegen, um mit einem AVR
> einen Einstieg zu machen.

Einstieg?
Bei Nacht und Nebel - aber in welche Bankfiliale?
Ach nein, eigentlich fängt es alles mit der Idee zu und Konstruktion von 
Geräten an, dazu passend ein Schaltungskonzept (wenn es etwas 
elektronisches werden soll) und dazu passend einen Mikrocontroller. So 
herum.

Daß man sich ab irgend einer Stelle mit Digitaltechnik und dann mit 
Programmierung von Mikrocontrollern befassen muß, ist damit verbunden. 
Es ist kein "Einstieg" in eine separate Welt. Durch eine Luke namens AVR 
oder i8051 oder sonstwie. Aber es ist ein durchaus interessantes 
Teil-Thema, vorausgesetzt, man hat bereits fundierte Kenntnisse der 
übrigen Bereiche. Aber der TO hat sich über seinen eigenen 
Kenntnis-Stand noch nicht ausreichend geäußert.

W.S.

von svensson (Gast)


Lesenswert?

Der müde Joe schrieb:
> Bis man
> an die Leistungsgrenze von 8-Bit-Mikrocontrollern kommt, dauert es recht
> lang.

Das würde ich auch so sehen. Der Mega2560 (256 kB Flash, 8 kB RAM) will 
erst einmal ausgereizt werden...

Zudem scheinen mir die AVR sehr robust zu sein, was ein Vorteil für den 
Anfänger ist. Wenn man den Arduino Uno (oder einen der zahlreichen 
Clones) mit dem 328 in der DIL-Variante wählt, dann kann man im Falle 
eines Falles den Chip einfach tauschen (es gibt den nämlich auch schon 
mit vorinstalliertem Bootloader zu kaufen).

Als weiteren Vorteil läuft der auch mit 5V, d.h. der kann mit vielen 
Bauteilen direkt zusammenarbeiten. Der läßt sich (andere Einstellung in 
der IDE muß aber vorgenommen werden) aber auch mit 3,3V betreiben, wenn 
auch mit reduziertem Takt.

von Wühlhase (Gast)


Lesenswert?

Ein Kommentar schrieb:
> Ein Schlosser muss in seine Lehre auch 2 Wochen mit der Feile gearbeitet
> haben. Gehört zum Allgemeinwissen eines Schlossers. Bin der Meinung,
> diese Bitfummelei gehört genau so zur Ausbildung eines Entwicklers. Auch
> wenn man es nie wieder braucht.

Zu anderen Zeiten war in der Ausbildung ein ganzes Jahr nur Feilen 
angesagt. Aber davon abgesehen hast du ja recht.

Ich denke auch, daß der TS mit einem AVR am Anfang nichts verkehrt macht 
und, ganz im Gegenteil, dessen Einfachheit zu Beginn eher ein Vorteil 
ist. Alleine schon das Datenblatt eines AVR z.B. im Vergleich zum 
Reference Manual eines mittleren STM32 ist eigentlich nur hilfreich. Und 
AVRs können erstaunlich viel, bis man den ausreizt dauert es schon 
etwas.

Ich habe ebenfalls mit AVRs angefangen - in Assembler - und im 
Nachhinein hat es sich nur als vorteilhaft herausgestellt.

von Blablub (Gast)


Lesenswert?

svensson schrieb:
> Wenn man den Arduino Uno

... wobei die IDE und Debugmöglichkeiten bei Arduino sagen wir mal 
bescheiden sind.

von Pepe T. (pepe_t)


Lesenswert?

Blablub schrieb:
> wobei die IDE ... bei Arduino sagen wir mal bescheiden sind.

Nur wenn du damit meinst dass die IDE nicht überfüllt und 
unübersichtlich sondern einfach und klar ist. Debugged wird mit 
serial.print. Das zwingt genau zu überlegen und führt zum besseren 
programmierer. :)

Wenn das richtige board und der com-port eingestellt sind läuft das. Das 
kann vom stm32 oder esp32 nicht gesagt werden, die sind wesentlich 
komplizierter. Ganz zu schweigen von diversen linux-distros bei denen 
seit dem "code of conduct" ausser megabloat so ziemlich nichts mehr 
klappt.

Ich bin durchaus fähig baseflight mit eclipse und "arm-non-eabi" zu 
kompilieren, empfinde das aber als sehr gewöhnungsbedürftiges 
unübersichtliches und überkompliziertes system.

: Bearbeitet durch User
von Martin V. (oldmax)


Lesenswert?

Hallo Robert
Wie alt bist du? Was sind deine beruflichen Ziele. Willst du hobbymäßig 
einsteigen oder professionell? Strebst du Software- oder 
Hardwareentwicklung an. Oder gar beides?
In meinen Augen ist es gut, das kleine Einmaleins zu lernen, bevor es in 
die höhere Mathematik geht. Die "kleinen" Atmels sind für einen 
Einsteiger schon ziemlich komplex, aber noch gut zu verstehen. 
Allerdings, willst du "nur" progammieren, dann brauchst du nicht 
unbedingt elektronische Kenntnisse, willst du selber basteln oder bauen, 
dann brauchst du neben Kenntnissen in Elektronik auch Kenntnisse in der 
Programmierung. Die Frage, ob alte oder modernste Controller solltest du 
ganz hinten anstellen. Sie ist gar nicht für einen Anfänger relevant. 
Der braucht anfangs viel Hilfe und da sind grad die "alten" Controller 
sinnvoll, weil man einiges mit umsetzen kann und doch ein noch lesbares 
Datenblatt hat. Bei allen Überlegungen solltest du nicht aus den Augen 
verlieren, das sowohl Hardware wie auch Software sehr zeitraubend ist. 
Nur wenn hohes Interesse vorhanden, wirst du dich erfolgreich 
weiterbringen. Ansonsten bleibst du auf der Strecke.
Also, viel Spaß...
Gruß oldmax

von Pepe T. (pepe_t)


Lesenswert?

Für AVR ASM habe ich "AVR studio 4" sehr geschäzt. Einfach, klar, 
schnell. Dort hat auch auch der bloat zugeschlagen und neuere versionen 
sind schrott.

von Jemand (Gast)


Lesenswert?

Hallo,

ich denke, dass das mit Abstand wichtigste, wenn man mit Controllern 
anfangen will, hinreichend viele Ressourcen zum Thema "Anfängerfehler" 
bzw. eine Community ist, die man im Zweifelsfall fragen kann sind.

Und da sind m.E. einfach folgende Plattformen am verbreitetsten:

-AVR

-PIC

-Arduino (bitte nicht hauen)


Ich würde daher empfehlen erst man mit dem AVR anzufangen.
Ein Nachteil ist, wie von Anderen schon angesprochen, natürlich das AVRs 
in vielen Aspekten nicht mehr so modern sind. Wenn man langfristig dann 
doch mehr Rechenleistung, Low Power o.Ä. möchte, kann man auf eine 
andere Plattform wechseln, bei der die Community vllt. kleiner ist, da 
man sich hinreichend gut selbst helfen kann

von Andreas S. (Firma: Schweigstill IT) (schweigstill) Benutzerseite


Lesenswert?

Frank K. schrieb:
> Ich habe vor etwa 40 Jahren mit Z80 angefangen zu programmieren, und
> nach einem Jahr war ich so weit, dass ich zu den mesiten Opcodes den
> Hexwert wusste und direkt eintippen konnte.

Bei mir hatten sich die Hexwerte so sehr ins Gehirn eingebrannt, dass 
ich jahrzehntelang jeden Hexdump, den ich erblickte, automatisch 
disassemblierte. Auch heute schaue immer noch reflexartig, ob sich an 
markanten Adressen wie z.B. 00x003f oder 0x0066 ein C3, d.h. ein 
Sprungbefehl befindet.

In den letzten 20 Jahren schaue ich aber eher auf ein E im höchsten 
Nibble jedes Langwortes, aber seit großenteils Thumb genutzt wird, ist 
das auch eher unwichtig.

Ähnlich geht es ja auch vielen Funkamateuren, die jedes Vogelgezwitscher 
als Morsesignal dekodieren.

von EAF (Gast)


Lesenswert?

Blablub schrieb:
> ... wobei die IDE und Debugmöglichkeiten bei Arduino sagen wir mal
> bescheiden sind.
Und?

Mag es an der Oberfläche auch schlicht sein.
Andere IDEs sind da eher überladen.

Bei dem schlichteren muss man halt mehr schreiben. Mehr lesen.
Das übt.
Für den Grundlagenerwerb ist das sicherlich besser, als die 
EierLegendeWollMilchSau.

Zudem lässt sich da wohl jeder µC dranstöpseln, für den es einen GCC C++ 
Compiler gibt.
Vom Tiny13 bis zum Multicore mit etlichen 100Mhz


C++, C, ASM sind die häufigsten(einzigen?) Sprachen in der Arduino Welt. 
Somit dürften alle Beispiele aus dem Buch auch mit der Arduino IDE 
lauffähig sein.


Mein Rat, klein anfangen.
Die Arduino IDE kostet nix, vielleicht eine Spende.
Arduino Boards, z.B. mit einem ATMega328P, sind recht preiswert.


Steigerungen und Wechsel der IDE und der Hardware, sind ja jederzeit 
möglich, wenn man denn irgendwann weiß wohin man will.

von Name: (Gast)


Lesenswert?

AVR wird es noch lange geben, auch in kommerziellen Produkten. 
Insbesonders, da Microchip ATMEL gekauft hat (Microchip ist für lange 
Verfügbarkeit bekannt). Es erscheinen sowieso immer noch neue 
AVR-Derivate.
Wenn du in C anfängst, sind die erlernten Dinge sowieso auch auf andere 
Controller übertragbar.

Daher: Immer frisch voraus.
Und zum Anfangen sind sie toll, weil weniger kompliziert. Trotzdem lernt 
man im Gegensatz zum Arduino das Arbeiten mit richtigen µC.

Lasst dir aber keinen Assembler aufschwatzen ;-)

Ob der AVR auf deine Anforderungen an das Hobby passt, musst du aber 
selber entscheiden. Ich würds halt mal ausprobieren.

Ich persönlich bin eher mit STM32 unterwegs. Ich sehe aber durchaus den 
Sinn der kleinen 8-Bitter. Ich sehe sie außerdem auch in kommerziellen 
Produkten (z.B. in meiner Gastherme), von daher ist das kein "Spielkram" 
und auch nicht "veraltet".

von EAF (Gast)


Lesenswert?

Großenteils: Zustimmung.

Name: schrieb:
> Trotzdem lernt
> man im Gegensatz zum Arduino das Arbeiten mit richtigen µC.
Aber da steckt ein logischer Fehler drin.

von Name: (Gast)


Lesenswert?

EAF schrieb:
> Aber da steckt ein logischer Fehler drin.

Nein. Ein Arduino ist kein µC, sondern so eine Art Programmiersprache.
Man merkt das spätestens dann, wenn man etwas spezielleres mit der 
Peripherie anstellen will.

Was nicht falsch ist, aber wenn man Arduino lernt, lernt man nicht 
"richtig µC programmieren". Ob das eine Rolle spiel, hängt davon ab, was 
man mit den Kenntnissen anfangen will.

Mich persönlich stört, dass man nicht ordentlich debuggen kann. Oder 
geht das inzwischen?

von Pepe T. (pepe_t)


Lesenswert?

Name: schrieb:
> Ein Arduino ist kein µC, sondern so eine Art Programmiersprache.
> Man merkt das spätestens dann, wenn man etwas spezielleres mit der
> Peripherie anstellen will.

Quatsch. Die register kannst du mit arduino genau so ansprechen wie mit 
C, denn arduino ist C.

Anfänger machen analogWrite(...
Profis dann OCR2A = ...

von Cyblord -. (cyblord)


Lesenswert?

Arduino ist die Kombination aus der IDE, einem Software-Framework und 
einer mehr oder weniger standardisierten Hardware.
Das ganze wirkt ZUSAMMEN. Die Einzelteile sind nicht relevant.

Pepe T. schrieb:
> Quatsch. Die register kannst du mit arduino genau so ansprechen wie mit
> C, denn arduino ist C.
> Anfänger machen analogWrite(...
> Profis dann OCR2A = ...

Jaja immer das gleiche Gelaber.
Natürlich gibt es keine spezielle Programmiersprache sondern es wird in 
C/C++ entwickelt.
Aber WENN du das alles mit Registern machen könntest, ohne die ganze 
Arduino Libs und ohne die IDE, dann bräuchtest du ja kein Arduino. Dann 
kaufst du einen AVR oder STM32 und entwickelst mit Eclipse und GCC. Also 
erzähl nichts.

: Bearbeitet durch User
von EAF (Gast)


Lesenswert?

Name: schrieb:
> Mich persönlich stört, dass man nicht ordentlich debuggen kann. Oder
> geht das inzwischen?
Ist in der Entwicklung und tuts für z.B. für manche ARM schon
https://docs.arduino.cc/software/ide-v2

Name: schrieb:
> Nein. Ein Arduino ist kein µC, sondern so eine Art Programmiersprache.
Falsch!

Es ist C++, C und ein wenig ASM
Für den Anfänger in der Hauptsache C++.

Arduino "besteht" aus 3 Dingen!
1. IDE
2. verschiedenste µC auf Platinchen
3. Ein Framework, mit ein paar Dutzend Funktionen

Auf jedes diese 3 kann man verzichten, bzw durch was anderes oder 
eigenes ersetzen.

von Pepe T. (pepe_t)


Lesenswert?

Cyblord -. schrieb:
> bräuchtest du ja kein Arduino. Dann ... entwickelst mit Eclipse und GCC.

Quatsch. Arduino bringt editor, compiler, flashen und serial-console 
plus plotter in einem sehr einfach zu installierenden paket während 
eclipse und gcc eher etwas für leute mit masochistischen tendenzen ist.

von EAF (Gast)


Lesenswert?

Cyblord -. schrieb:
> Aber WENN du das alles mit Registern machen könntest, ohne die ganze
> Arduino Libs und ohne die IDE, dann bräuchtest du ja kein Arduino.

Naja....
Ohne Durchgriff auf die Register/Hardware Ebene, könne man wohl keine 
Hardwarebezogenen Libraries schreiben.
Hunderte Libraries beweisen, dass nicht nur geht, sondern sogar manchmal 
notwendig ist.

Also: Es gibt nicht nur schwarz und weiß.
Sondern viel Raum dazwischen.

Sicherlich bietet Arduino einen kleinen Berg an Komfortfunktionen.
Aber keiner zwingt einen dazu sich darauf zu beschränken.
Auch du nicht.

von Cyblord -. (cyblord)


Lesenswert?

EAF schrieb:
> Cyblord -. schrieb:
>> Aber WENN du das alles mit Registern machen könntest, ohne die ganze
>> Arduino Libs und ohne die IDE, dann bräuchtest du ja kein Arduino.
>
> Naja....
> Ohne Durchgriff auf die Register/Hardware Ebene, könne man wohl keine
> Hardwarebezogenen Libraries schreiben.
> Hunderte Libraries beweisen, dass nicht nur geht, sondern sogar manchmal
> notwendig ist.

Niemand bestreitet dass man libs für Arduino schreiben kann. Das SW 
Framework besteht aus solchen libs. Wie ich oben schon schrieb.

> Also: Es gibt nicht nur schwarz und weiß.

Es gibt Leute die brauchen Arduino und Leute die brauchen es nicht.
Ich will aber von Arduino-Abhängigen nicht hören dass man das alles auch 
ohne könnte.
Technisch kann man. Intellektuell halt nicht.

> Sicherlich bietet Arduino einen kleinen Berg an Komfortfunktionen.
> Aber keiner zwingt einen dazu sich darauf zu beschränken.

Die Grenze ist die Bequemlichkeit und die Hirnkapazität.

von Cyblord -. (cyblord)


Lesenswert?

EAF schrieb:
> Arduino "besteht" aus 3 Dingen!

Schrieb ich vor dir bereits.

> 1. IDE
> 2. verschiedenste µC auf Platinchen
> 3. Ein Framework, mit ein paar Dutzend Funktionen
>
> Auf jedes diese 3 kann man verzichten, bzw durch was anderes oder
> eigenes ersetzen.

Kann man. Dann ist es halt kein Arduino mehr.

von miros (Gast)


Lesenswert?

Schade, dass der Thread in Arduino-Bashing abdriftet, obwohl es 
überhaupt nichts mit der initialen Frage zu tun hat.
Man kann sein Brot selbst backen, mit selbst gemahlenem Mehl, aus selbst 
angebautem Getreide. Wenn man allerdings hungrig ist, geht man zum 
Bäcker und kauft es, unabhängig von der Hirnleistung.


Back to work...

von Stefan F. (Gast)


Lesenswert?

Robert schrieb:
> Ist es noch lohnenswert mit AVR Atmel Chips anzufangen?

Kommt drauf an, was du damit machen willst. Der Chip alleine macht dich 
weder reich noch schön. Er fängt auch keine attraktiven Frauen ein. Aber 
man kann damit nützliche und spannende Dinge bauen. Die AVR Chips sind 
durchaus noch aktuell - ein Ende nicht in Sicht.

> Oder soll man direkt mit moderneren Chips loslegen?

Die sehr gut dokumentierten STM32 sind vor allem für Anfänger sehr viel 
schwieriger zu erlernen, weil sie viel mehr Funktionen haben und man die 
Wechselwirkungen zwischen den Funktionsgruppen besser kennen muss, um 
damit zurecht zu kommen.

Wenn du sonst noch keine Mikrocontroller programmiert hat, empfehle ich 
mit AVR anzufangen. Meine Homepage hat für AVR und STM32 eine Menge 
Lesestoff: http://stefanfrings.de/

von Jobst M. (jobstens-de)


Lesenswert?

Name: schrieb:
> Lasst dir aber keinen Assembler aufschwatzen ;-)

Lass Dir vor allem aber nicht aufschwatzen, was für Dich am besten wäre!
Probiere alles aus und finde Deine Sprache. Je breiter Du aufgestellt 
bist, desto besser.

Und Assembler zu verstehen ist sicherlich kein Nachteil, denn das ist 
das, was der Controller abarbeitet.
Es ist nie verkehrt bei Problemen Detailwissen zu haben.

Gruß
Jobst

von Blablub (Gast)


Lesenswert?

Pepe T. schrieb:
> Quatsch. Arduino bringt editor, compiler, flashen und serial-console
> plus plotter in einem sehr einfach zu installierenden paket während
> eclipse und gcc eher etwas für leute mit masochistischen tendenzen ist.

Arduino ist etwas für unbedarfte Anfänger.

von Pepe T. (pepe_t)


Lesenswert?

Blablub blubberte im Beitrag #6977780:
> Arduino ist etwas für unbedarfte Anfänger.

Also genau das was Robert, der OP sucht?

von Arduino für Alle (Gast)


Lesenswert?


von Name: (Gast)


Lesenswert?

Blablub schrieb:
> Arduino ist etwas für unbedarfte Anfänger.

Nein, ist es nicht. Ich kenne diverse Prfümittelentwickler und QS-Leute, 
die ihre Testaufbauten damit steuern.

Es ist halt eine komplett andere Stoßrichtung als µC-Programmierung.

Die Diskussion stellt sich analog für mich so dar:
"Gabeln sind Mist, weil man damit nicht Suppe essen kann". "Ich benutze 
nur Messer, wie jeder echte  Profi". "Nein, beim letzten Mal Reis essen 
habe ich mir damit die Lippen zerschnitten, jetzt verwende ich nur 
Löffel, auch für mein Steak".

Mache kommen mit Arduino besser zurecht, und für manche Dinge eignet es 
sich auch besser.

Ich persönlich bevorzuge auch eine ordentliche µc-Plattform wie STM32 
oder AVRs. Aber das ist eine Geschmacksfrage, und auch davon abhängig 
was denn damit gemacht werden soll.
Sowieso ist die Begrenzung zu 97% nicht die Plattform. Die sitzt vor der 
Tastatur.

von Falk B. (falk)


Lesenswert?

Name: schrieb:
> Sowieso ist die Begrenzung zu 97% nicht die Plattform. Die sitzt vor der
> Tastatur.

AMEN, Bruder, AMEN!

von F. M. (foxmulder)


Lesenswert?

Robert schrieb:
> Ist es noch lohnenswert mit AVR Atmel Chips anzufangen?
> Oder soll man direkt mit moderneren Chips loslegen?

Ja natürlich, warum auch nicht?
Zuerst stellt sich die Frage:
Was heißt lohnenswert für dich?
Ein Hobby ist eigentlich kaum lohnenswert und selbst finanziell bringt 
dir KnowHow rein gar nichts, solange du kein Geld damit verdienen 
kannst.
Du könntest zB. auch statt AVRs zu programmieren 100 Bücher im Jahr 
lesen oder jonglieren lernen, wird dir wahrscheinlich alles nichts 
bringen.

Wenn du aber Mikrocontroller programmieren lernen willst -warum auch 
immer- kannst du das natürlich mit AVRs machen.
AVRs sind eine relativ einfache Architektur die zusätzlich sehr gut 
dokumentiert ist, es ist also sehr leicht Informationen und Hilfe zu 
finden.

Der grundsätzliche Ablauf etwas zu programmieren ändert sich nicht, die 
C Sprache auch kaum, also ist es für den Anfang tatsächlich recht egal 
womit man anfängt. Viel wichtiger ist tatsächlich anzufangen.

Atmel wurde von Microchip gekauft, derzeit werden noch regelmäßig sowohl 
neue AVRs als auch PICs auf den Markt geworfen, das ganze ist also noch 
hochaktuell.

Der Niedergang von 8Bit Controllern wurde schon ab den späten 90er 
prophezeit und ist bis jetzt nie eingetreten.

Kurz gesagt, wer heute mit einem halbwegs modernen AVR anfängt zB. eine 
Atmega 4809 wird den nicht so schnell ausreizen können, damit geht schon 
einiges.

32 Bit ist natürlich derzeit am angesagtesten und in vielen Branchen zB. 
Automotive auch seit Jahren ganz klar ganz vorne, allerdings ist der 
Einstieg wirklich nicht einfach und für einen absoluten Einsteiger schon 
sehr zäh.

https://www.mouser.at/ProductDetail/Microchip-Technology/DM320115?qs=sGAEpiMZZMv0NwlthflBi4UzTHrj%252BUATF6y%2F8caWHDU%3D

mfg

von Georg M. (g_m)


Lesenswert?


von svensson (Gast)


Lesenswert?

> 32 Bit ist natürlich derzeit am angesagtesten

Was aber auch häufig an einem Mißverständnis liegt, denn auch ein Chip 
mit einem 8-Bit Rechenwerk kann natürlich auch 16, 32 oder 64 Bit Zahlen 
verarbeiten.

Auch beim PC dachten viele, daß ihre Programme mit 64 Bit CPU schneller 
laufen als mit 32 Bit CPU.

von EAF (Gast)


Lesenswert?

miros schrieb:
> Schade, dass der Thread in Arduino-Bashing abdriftet, obwohl es
> überhaupt nichts mit der initialen Frage zu tun hat.
Ach, das sind meist die wenigen, welche mit C++ völlig überfordert sind.
Die anderen wissen, dass es eine Weile braucht, da sattelfest zu werden.

Beitrag #6978040 wurde von einem Moderator gelöscht.
von Daniel A. (daniel_a32)


Lesenswert?

Es ist lohnenswert jede MCU mal kennengelernt zu haben.

Ich habe mit 8051 und Assembler angefangen und musste vor 20 Jahren noch 
hunderte Seiten Doku durchforsten bevor der Controller irgendwas von 
sich gab.

Daher ist ein Arduino ein nettes Tool für kleine Projekte, die schnell 
etwas demonstrieren sollen.
Geht es aber in die Tiefe und braucht man mehr, dann steht man bei 
Arduino schnell an.
Ich hatte mal ein primitives Problem mit einem 9 Bit seriellen 
Protokoll. Das können nur wenige MCUs hardwaremässig. Dafür musste ich 
dann auf STM umsteigen.

Frameworks sind natürlich ein Segen bei komplexen MCUs. Besonders die 
großen Hersteller legen sich hier ins Zeug um mit netten Tools das 
Programmieren grafisch zu ermöglichen.

Bei der STM32IDE und deren TouchGFX Framework kommt man aufgrund der 
häufigen Updates und Versionsproblemen aber ins Verzweifeln.

Bei Mikrocontrollern vermeide ich in der Regel auch C++, die meisten 
Frameworks sind auch in C geschrieben, da alles sehr hardwarenahe und 
kompakt sein soll. C++ benötigt zu viel Heap und überlastet den RAM der 
kleinen schnell mal. Besonders die STM sind mit einer Grafikanwendung, 
selbst mit externem RAM gleich mal voll.
Das ist dann nervig, wenn beim fertigen Programm auf einen anderen 
Controller gewechselt werden muss, weil der Speicher nicht ausreicht.
Besonders blöd, wenn die Platine dann schon fertig ist.

Bei den ST Mikrocontrollern sind mir schon merkwürdige Typen 
untergekommen, die Probleme mit AD und DMA Interrupts hatten. Das kostet 
dann oft mehrere Tage an Arbeit das Problem überhaupt zu finden. Die 
Hersteller liefern oft nur mässig Support. Da ist eine große Community 
sehr hilfreich. Die User finden und lösen Probleme meist schneller als 
der Lieferant.

Beim ESP32 spielt der Speicher wieder keine Rolle, dafür muss man auf 
Debugging verzichten und weis nicht was in dem Ding wirklich vorgeht. 
Für kleine Spaßprojekte ist das Teil ok, aber ich würde es nicht in ein 
Kundenprojekt einbauen.

Das meiste was ich in meiner Firma entwickle wird mit AVR, ST oder PIC 
bestückt. Derzeit können aber alle nicht liefern, also muss man sowieso 
nehmen was man bekommt.

von Blablub (Gast)


Lesenswert?

Arduino für Alle schrieb:
> Siehe auch hier:

Dann ist mir klar, warum wir seit 52 Jahren niemanden mehr zum Mond 
geschickt haben.

Name: schrieb:
> Sowieso ist die Begrenzung zu 97% nicht die Plattform. Die sitzt vor der
> Tastatur.

Das ist eher eine Pipeline und Arduino setzt davor an.

von Supergast (Gast)


Lesenswert?

Hi,
mir ist schleierhaft, warum man hier auf anderen Platformen herumhacken 
muss.

Die Frage ist doch ganz einfach, --> genauso wie die Antwort:
Lohnt es sich mit AVR anzufangen --> JA, absolut, mach es einfach.

Wenn Du das dann probiert hast und Dich damit auskennst, kannst Du immer 
noch mit größeren Platformen weitermachen (ST32, LPC, ESP32, ...)
Gleich mit größeren Platformen zu starten ist möglich, kann für 
unerfahrene jedoch deutlich schwieriger sein.

Viel Spaß !

von Blablub (Gast)


Lesenswert?

Pepe T. schrieb:
> Debugged wird mit
> serial.print. Das zwingt genau zu überlegen und führt zum besseren
> programmierer. :)

Debuggen mit Serial.print? Das ist wahrlich unprofessionell. Aber bei 
Arduino und co. gibt es eben keine professionelle Alternative.

von Martin V. (oldmax)


Lesenswert?

Hi
Name: schrieb:
> Lasst dir aber keinen Assembler aufschwatzen ;-)

Du weißt ja sicherlich auch, warum du anonym bleiben willst. Und warum 
du einen Smiley setzt.
Assembler, mag er noch so verpönt sein, ist entgegen vieler Behauptungen 
gar nicht so schwer und m.E. für Leute, die mit Hard- und Software 
arbeiten und auch verstehen wollen, wie so ein Ding funktioniert 
sicherlich sinnvoll. Auch Maschinen werden in AWL, einer Assembler 
ähnlichen Sprache programmiert. Fast alle meiner Kollegen waren hilflos, 
wenn sie damit konfrontiert wurden. Bei allen Beiträgen, die hier zu 
lesen sind, gibt es sehr viele, die in C programmieren, 
Zeitverzögerungen mit "delay" umsetzen und sich dann wundern, warum 
manchmal Signale nicht erfaßt werden. Profis wissen das, aber Anfänger 
fallen immer wieder darauf herein.
Also, laßt doch mal die negativ klingende Beurteilung einer Sprache. 
Jede hat ihre Daseinsberechtigung und ehrlich, bevor wir lesen und den 
Text verstehen konnten, haben wir das Alphabet gelernt. Nun sind wir 
auch in der Lage, verschiedene Sprachen zu verstehen.
Es ist also nicht falsch, sich auch Mal mit Assembler zu befassen.
Gruß oldmax

von Cyblord -. (cyblord)


Lesenswert?

Martin V. schrieb:
> Assembler, mag er noch so verpönt sein, ist entgegen vieler Behauptungen
> gar nicht so schwer

Nicht um eine LED blinken zu lassen.
Auch nicht für einfache Steuerungsaufgaben.

Aber mach mal einen TCP/IP Stack damit. Oder implementiere sonst ein 
komplexeres Protokoll.

von Peter D. (peda)


Lesenswert?

Daniel A. schrieb:
> Ich hatte mal ein primitives Problem mit einem 9 Bit seriellen
> Protokoll. Das können nur wenige MCUs hardwaremässig. Dafür musste ich
> dann auf STM umsteigen.

Kein Problem für die AVRs.
Ein ATtiny2313 hätte völlig gereicht:
• Supports Serial Frames with 5, 6, 7, 8, or 9 Data Bits and 1 or 2 Stop 
Bits
• Odd or Even Parity Generation and Parity Check Supported by Hardware

von Martin V. (oldmax)


Lesenswert?

Hi
Jobst M. schrieb:
> Und Assembler zu verstehen ist sicherlich kein Nachteil, denn das ist
> das, was der Controller abarbeitet.
> Es ist nie verkehrt bei Problemen Detailwissen zu haben.

Das möchte ich etwas ergänzen, alle ! Controller und Prozessoren 
arbeiten einen Maschinencode ab, der mit Assembler verständlich 
abgebildet wird und jede Programmiersprache erzeugt letztendlich eine 
Datei, die der Prozessoroder Controller nacheinander abarbeiten kann. 
Zugegeben, das auf Windows, Bildverarbeitung, Grafik-,Musik-,etc. 
Programme zu beziehen, fällt auch mir schwer.
Ist aber so.
Gruß oldmax

von Peter D. (peda)


Lesenswert?

Daniel A. schrieb:
> Daher ist ein Arduino ein nettes Tool für kleine Projekte, die schnell
> etwas demonstrieren sollen.
> Geht es aber in die Tiefe und braucht man mehr, dann steht man bei
> Arduino schnell an.

Wie oben schon gesagt wurde, das liegt nicht am Arduino oder dessen IDE.

Name: schrieb:
> Sowieso ist die Begrenzung zu 97% nicht die Plattform. Die sitzt vor der
> Tastatur.

von Cyblord -. (cyblord)


Lesenswert?

Peter D. schrieb:
> Daniel A. schrieb:
>> Ich hatte mal ein primitives Problem mit einem 9 Bit seriellen
>> Protokoll. Das können nur wenige MCUs hardwaremässig. Dafür musste ich
>> dann auf STM umsteigen.
>
> Kein Problem für die AVRs.
> Ein ATtiny2313 hätte völlig gereicht:
> • Supports Serial Frames with 5, 6, 7, 8, or 9 Data Bits and 1 or 2 Stop
> Bits
> • Odd or Even Parity Generation and Parity Check Supported by Hardware

In der Tat können gerade die STMs kein 9 Bit + Parity. AVRs aber schon.

Die Aussage von Daniel ist daher unverständlich. Ich nutze normalerweise 
nur noch STM, aber für eine spezielle Anwendung wo ich 9 Bit + Parity 
brauche, nehme ich einen AVR her. Es gibt quasi keinen STM der da kann. 
Nur entweder 9 Bit ODER Parity.

: Bearbeitet durch User
von Peter D. (peda)


Lesenswert?

Daniel A. schrieb:
> Bei der STM32IDE und deren TouchGFX Framework kommt man aufgrund der
> häufigen Updates und Versionsproblemen aber ins Verzweifeln.

Ja, das ist ein häufiges Problem von Wizzards, die ändern sich 
schneller, als man gucken kann. Und sind dann oft inkompatibel zu alten 
Projekten. Oft muß man aber Projekte über viele Jahre pflegen und 
erweitern.

von norton (Gast)


Lesenswert?

Frank K. schrieb:
> Die klassischen AVRs haben aus heutiger Sicht Schwächen. Sie haben
> relativ wenige und relativ dumme Peripherieeinheiten, sie haben nicht so
> gute Debugmöglichkeiten, man kann sich durch fehlerhafte Programmierung
> aussperren, und sie laufen nur bei 5V mit ihrer vollen Taktrate. Es gibt
> moderne AVRs, die diese Schwächen nicht mehr haben, und es gibt

Die Aussagen treffen auf alle modernen AVRs nicht zu. Schaue Dir mal die 
Tiny0,1,2 Reihe an.

> Alternativen: PIC24, dsPIC33 und PIC32 sind recht angenehm und haben
> deutlich mehr Leistung, und ARM-basierte Controller gibts von dutzenden

32 Bit PIC ist ja wohl eine Sackgasse.

> Herstellern, wenn auch in der Regel nicht in bastelfreundlichen
> Gehäusen.

DIP ist ziemlich tot, egal welcher controller drin steckt.

von Pepe T. (pepe_t)


Lesenswert?

Blablub schrieb:
> warum wir seit 52 Jahren niemanden mehr zum Mond
> geschickt haben.

Das hat andere gründe. Kubrick ist tot.

von Cyblord -. (cyblord)


Lesenswert?

Pepe T. schrieb:
> Blablub schrieb:
>> warum wir seit 52 Jahren niemanden mehr zum Mond
>> geschickt haben.
>
> Das hat andere gründe. Kubrick ist tot.

Und wieso können die nicht den Typen anheuern der auch die ganze ISS 
Videos fälscht?

: Bearbeitet durch User
von Pepe T. (pepe_t)


Lesenswert?

Cyblord -. schrieb:
> Und wieso können die nicht den Typen anheuern der auch die ganze ISS
> Videos fälscht?

Glaub nicht dass die ISS videos gefälscht sind. Die ISS ist innerhalb 
des strahlungsgürtels.

von Stefan F. (Gast)


Lesenswert?

norton schrieb:
> DIP ist ziemlich tot, egal welcher controller drin steckt.

Es gibt sie noch, sie werden noch produziert, und sie sind zum 
Experimentieren sehr praktisch.

von norton (Gast)


Lesenswert?

Stefan ⛄ F. schrieb:
> norton schrieb:
>> DIP ist ziemlich tot, egal welcher controller drin steckt.
>
> Es gibt sie noch, sie werden noch produziert, und sie sind zum
> Experimentieren sehr praktisch.

Warum? Entweder gleich ein PCB designen (Kosten marginal) oder ein 
Adaptberboard nutzten. Ich vermisse THT nicht.

von Blablub (Gast)


Lesenswert?

norton schrieb:
> Warum? Entweder gleich ein PCB designen (Kosten marginal) oder ein
> Adaptberboard nutzten. Ich vermisse THT nicht.

Eben. In Zeiten wo ich in China für quasi umme sogar vierlagige 
Leiterplatten bekomme plage ich mich nicht mehr mit THT und Basteleien 
rum.

Da wird eine Leiterplatte designt und kurz bestellt. Bis diese da ist, 
wird aufm Devboard tatsächlich im fliegenden Aufbau das wichtigste 
geprüft.

Setzt natürlich voraus, dass man die Hardware schon fertig machen kann, 
aber selbst für einen Prototyp mache ich keinen fliegenden Aufbau mehr.

von Klaus W. (mfgkw)


Lesenswert?

Ihr seid ja auch alle Topexperten und Vollprofis...


Aber jemand, der einsteigt, ist doch froh um jedes bißchen Komplexität, 
die er nicht hat. Dann ist was mit Beinchen zum Anfassen sicher 
reizvoller.

von Jobst M. (jobstens-de)


Lesenswert?

Cyblord -. schrieb:
> Aber mach mal einen TCP/IP Stack damit. Oder implementiere sonst ein
> komplexeres Protokoll.


[x] TCP/IP-Stack in ASM geschrieben.
[x] 64-Bit Orthodrome auf 8051 ASM berechnen lassen.
[x] 64k ROM komplett mit ASM gefüllt.

Und ich komme gut klar damit.
Ich spreche die Sprache, die der Controller spricht und muss nicht mit 
einer Fremdsprache über einem Dolmetscher mit dem Chip sprechen. Und ich 
muss meinen fremdsprachigen Text nicht teilweise umformulieren, wenn der 
Dolmetscher abgelöst wird. (In der Firma bin ich gerade damit 
beschäftigt Code für C18 auf XC8 (PIC) anzupassen ... danke!)

Auf ordentlich abstrahierten Systemen finde ich es richtig eine 
Hochsprache zu nutzen. Aber eine Ebene über der Hardware, wo ich mit 
Bits klappere und diese hin und her schiebe oder vielleicht sogar 
taktgenau reagieren muss ist für mich ASM das Mittel der Wahl.

Und bevor das Geschrei gleich wieder los geht: Jeder soll die Sprache 
benutzen, mit der er glücklich wird! So mache ich das auch. Und ich 
werde mich hüten, anderen zu sagen, was für sie das Beste ist, nur weil 
es für mich das Beste ist (oder ich das zumindest glaube). Vor allem 
weil dies für andere ja auch gar nicht stimmen muss.

Ich käme ja auch nicht auf die Idee, jemandem die Farbe meines Auto als 
die beste Farbe für sein Auto zu empfehlen.

Gruß
Jobst

von Johannes S. (Gast)


Lesenswert?

Jobst M. schrieb:
> [x] TCP/IP-Stack in ASM geschrieben.
> [x] 64-Bit Orthodrome auf 8051 ASM berechnen lassen.
> [x] 64k ROM komplett mit ASM gefüllt.

und, hast du Kollegen die das nachvollziehen, verstehen und warten 
können?
Glückwunsch wenn ja. Ansonsten bist du unbeliebt weil du meinst 
unersetzlich zu sein. Oder Nerd der das Wissen ohne viel Aufsehen mit 
ins Grab nimmt.

Beitrag #6979138 wurde von einem Moderator gelöscht.
Beitrag #6979170 wurde von einem Moderator gelöscht.
von Stefan F. (Gast)


Lesenswert?

Ralf schrieb im Beitrag #6979170:
> Damit können die sogenannten Vollprofis hier
> aber nicht ihr Ego befriedigen.

Korrekt. Ich Nachhinein muss ich zugeben, dass meine Ablehnung von 
Arduino genau darauf beruhte.

von Patrick L. (Firma: S-C-I DATA GbR) (pali64)


Lesenswert?

Ralf schrieb im Beitrag #6979170:
> Damit können die sogenannten Vollprofis hier aber nicht ihr Ego
> befriedigen.

Stefan ⛄ F. schrieb:
> Korrekt.

Sehe ich auch so.
Sonnst würde nicht immer sofort "scharf geschossen" wenn ich(oder auch 
andere) als Tipp den relativ einfach handhabenden MSP430 erwähne, der in 
der Regel fast jeden Job erledigen kann und auch noch ab ca 30 Cent zu 
haben ist!

: Bearbeitet durch User
von M. K. (sylaina)


Lesenswert?

Jobst M. schrieb:
> Jeder soll die Sprache
> benutzen, mit der er glücklich wird!

DAS ist für mich der, ich sag mal, wichtigste Satz in der ganzen 
Diskussion und dem kann man nur voll und ganz zustimmen.

von Peter D. (peda)


Lesenswert?

Johannes S. schrieb:
> und, hast du Kollegen die das nachvollziehen, verstehen und warten
> können?

Wir hatten mal einen Kollegen, der den ganzen Tag lang nur in Erlang 
programmiert hat. Nach seinem Ausscheiden wurden alles nach /dev/null 
verschoben. Kein anderer kannte sich damit aus bzw. wollte es lernen.

von Martin V. (oldmax)


Lesenswert?

Hi
Johannes S. schrieb:
> und, hast du Kollegen die das nachvollziehen, verstehen und warten
> können?
> Glückwunsch wenn ja. Ansonsten bist du unbeliebt weil du meinst
> unersetzlich zu sein. Oder Nerd der das Wissen ohne viel Aufsehen mit
> ins Grab nimmt.

Nun ja, ein gut dokumentieres Assembler Programm ist genau so gut, wie 
ein gut dokumentiertes C Programm und wenn jemand kein Assembler 
versteht, kann er damit auch nicht zurecht kommen, genauso wenig wie 
einer, der C nicht versteht und diese Programme auch nicht pflegen kann. 
Also, wem hilft hier die Fachsimpelei um Sprachen? Ein Profi braucht das 
nicht und ein Anfänger braucht Unterstützung und keine unendlichen 
Diskussionen, welche Bausteine tot oder welche Sprache sinnvoll ist. 
Anfangs hatte ich die Frage nach dem Alter und der beruflichen 
Ausrichtung gestellt. Diese hat der TO noch nicht beantwortet, also ist 
diese Diskussion schon wieder ein Spielplatz für Pseudoprofis?
Gruß oldmax

Beitrag #6979263 wurde von einem Moderator gelöscht.
Beitrag #6979271 wurde von einem Moderator gelöscht.
von Cyblord -. (cyblord)


Lesenswert?

Mida M. schrieb im Beitrag #6979263:
> Wen interessiert von denen schon das
> die Arbeit schon ein kleiner AVR mit ein paar Zeilen simplen Assemblers
> täte?

Wann tut es das denn? Die Anfänger von heute lassen keine LED blinken. 
Schau doch mal welche "Projekte" da für den Anfang angepeilt werden. Auf 
ASM zu gehen weil man kleine Blinky Programme damit auch machen kann, 
macht halt keinen Sinn.

von Jens R. (jensr)


Lesenswert?

Cyblord -. schrieb:
> Auf ASM zu gehen weil man kleine Blinky Programme damit auch machen
> kann, macht halt keinen Sinn.

Damit geht natürlich weitaus mehr!
Und das reicht vielleicht längst aus?
Wir sprechen hier von AVRs programmieren, bitte nicht vergessen.

von Peter D. (peda)


Lesenswert?

Martin V. schrieb:
> Nun ja, ein gut dokumentieres Assembler Programm ist genau so gut, wie
> ein gut dokumentiertes C Programm

Nö, da ist ein riesen Unterschied.
Wenn Du die Familie wechselst, muß Du im C-Programm nur die wenigen 
Hardwarezugriffe (Pins, ADC, Timer usw.) anpassen. Vorzugsweise hat man 
die schon in extra Funktionen separiert. Alles andere (Abläufe, 
Algorithmen usw.) bleibt unverändert und wird nur neu compiliert.

Sehr schön kann man das sehen, wenn man z.B. vom Arduino Nano zum 
Arduino Due wechselt, da sind sogar die Hardwarelibs kompatibel. Man muß 
eigentlich nichts neu machen.

In Assembler kannst Du getrost alles wegschmeißen und nochmal ganz von 
vorne anfangen. Nur die Programmbeschreibungen und Kommentare kannst Du 
übernehmen.

Beitrag #6979321 wurde von einem Moderator gelöscht.
von Martin V. (oldmax)


Lesenswert?

Hi
Cyblord -. schrieb:
> Martin V. schrieb:
>
>> Assembler, mag er noch so verpönt sein, ist entgegen vieler Behauptungen
>> gar nicht so schwer
>
> Nicht um eine LED blinken zu lassen.
> Auch nicht für einfache Steuerungsaufgaben.
> Aber mach mal einen TCP/IP Stack damit. Oder implementiere sonst ein
> komplexeres Protokoll.

Wer sagt denn, daß ein Anfänger gleich mit den komplizierten Aufgaben 
einsteigt. Ich würde mich auch sehr schwer tun, wenn ich in Assembler 
mathematische Aufgaben lösen müsste, die über die vier Grundrechenarten 
hinausgingen. Aber alles ist erlernbar, selbst solche Aufgaben und der 
Controller oder Prozessor arbeitet eh nur binär. Hochsprachen bieten 
aber diesbezüglich ausgefeilte Routinen. Also, glaube nicht, daß Profis 
nicht wissen, was sie einsetzen, um ihre Aufgaben zu lösen. Hier haben 
wir eine Anfängerfrage und der Fragesteller sollte allerdings schon 
wissen, wo sein Schwerpunkt liegt. Software allein ist schon so ein 
weitreichender Gebiet. Da geht es um analytisches Denken, um 
strukturierte Vorgehensweisen. Viele denken, ach programmieren ist doch 
gar nicht schwer, es braucht doch nur gesagt werden, was ich vom 
Controller will und dann tut der das schon. Aber, und das wissen alle, 
die schon Mal ein Programm geschrieben haben, der Controller oder 
Prozessor denkt anders. Und dann muss man auch wissen, der Fehler ist 
immer vor der Tastatur und programmieren ist mit einem langen und 
zeitraubenden Lernprozess verbunden.
Auch Hardware ist nicht mal einfach so zusammen gesteckt. Ein wenig 
Grundkenntnis ist schon erforderlich. Daher bringt es gar nichts, wenn 
über Bauteile oder Sprachen diskutiert wird. Der TO hat gezielt nach 
"alten"  AVR gefragt, also macht es keinen Sinn über hochmoderne Pi oder 
STM zu diskutieren. Klar kann man hinweisen, aber damit ist ja auch 
schon gut.
Gruß oldmax

von Peter D. (peda)


Lesenswert?

Kurt F. schrieb im Beitrag #6979321:
> Und wenn man den AVR wechseln müsste läufts
> auf dasselbe wie bei C hinaus: Nur Hardware-Zugriffe (veränderte
> Peripherie) sind anzupassen.

Der Arduino Due ist aber kein AVR, sondern ein SAM3X8E ARM Cortex-M3.
Die Arduino Entwickler haben da schon gute Arbeit geleistet, die 
Hardware zu abstrahieren. Hut ab!

: Wiederhergestellt durch Admin
von Martin V. (oldmax)


Lesenswert?

Hi
Cyblord -. schrieb:
> Schau doch mal welche "Projekte" da für den Anfang angepeilt werden.

Ja, und dann frag doch Mal nach ein oder zwei Jahren, was daraus wurde.
Gruß oldmax

von Patrick L. (Firma: S-C-I DATA GbR) (pali64)


Lesenswert?

Ich weis nicht was ihr euch das Leben schwer macht.

Wenn man in Assembler Programmiert kann man ja Libraries und Macros 
verwenden, die einem die Math. abnehmen?
Wenn man in einer Hochsprache programmiert, nimmt diese ja genau 
genommen auch Makros und Libraries und setzt die dann zusammen.

Auch "C" ist keine KI bzw. Echte Intelligenz.

von Ben S. (bensch123)


Lesenswert?

Wer heutzutage noch ganze Libs oder Projekte in Assembler neu anfängt 
hat es nicht kapiert. Egal, wie sehr man Assembler verteidigt. Es gibt 
nicht ohne Grund C und Konsorten.

Es wurden hier schon genug Beispiele genannt. Und nein, Assembler ist 
auch bei guter Formatierung einfach unübersichtlich und schlecht 
wartbar.

von Patrick L. (Firma: S-C-I DATA GbR) (pali64)


Lesenswert?

Ben S. schrieb:
> Egal, wie sehr man Assembler verteidigt.

Wie ich immer sage, jede Programmiersprache hat ihre 
Daseinsberechtigung.

Verteidigen muss man da nix, es ist wie es ist.Aber wenn sich jemand für 
Assembler entscheidet, dann muss er sich ja nicht das Leben unnötig 
schwer machen, für dass gibt es Makros und Libraris.

Genau so wie ich niemals auf die Idee kommen würde für eine Blinkende 
LED ein "C" Programm zu schreiben, wenn ich das mit 3 Zeilen Assembler 
schaffe ;-)
Genau so Würde ich kein Datenbankprogramm in Assembler schreiben.

das wäre in etwa so wie wenn ich mit einer SPS zum Starkstromtechniker 
gehe um sie zu Programmieren zu lassen, oder zum Programmierer gehe um 
ein Drehstrommotor Phasenrichtig anhängen zu lassen.
Sicher würden es beide wahrscheinlich irgend wie schaffen aber der 
Overhead ist zu Groß....

von Peter D. (peda)


Lesenswert?

Patrick L. schrieb:
> Genau so wie ich niemals auf die Idee kommen würde für eine Blinkende
> LED ein "C" Programm zu schreiben, wenn ich das mit 3 Zeilen Assembler
> schaffe ;-)

Die 3 Zeilen zeig mir mal.
In C kann man ganze Programme in einer Zeile schreiben, da ein 
Zeilenumbruch kein Syntaxelement ist. Selbst der abschließende 
Zeilenumbruch kann entfallen, gibt allerdings ne Compilerwarnung.

von Ben S. (bensch123)


Lesenswert?

Patrick L. schrieb:
> Genau so wie ich niemals auf die Idee kommen würde für eine Blinkende
> LED ein "C" Programm zu schreiben, wenn ich das mit 3 Zeilen Assembler
> schaffe ;-)

Natürlich mache ich auch das in C. Und in C könnten das sogar fast drei 
Zeilen werden. In Assembler mitnichten.

Und dann nimmst du morgen einen anderen Controller und dein Led Blinky 
geht nimmer. Oder in drei Monaten schaut sich ein Kollege deine Blinky 
an und schreibt es lieber in C neu.

: Bearbeitet durch User
von Patrick L. (Firma: S-C-I DATA GbR) (pali64)


Lesenswert?

Ben S. schrieb:
> In Assembler mitnichten.
1
 bis.b #0x01,&P1DIR             ;P1.0 (LED1) output
2
 xor.b #0x01,&P1OUT             ;P1.0 (LED1) Toggle
3
 BR    $                        ; Waitt of Watchdog Reset

Und das LED Blinkt mit der Devault Watchdog und Lo-Osc. frequenz...

: Bearbeitet durch User
von Ben S. (bensch123)


Lesenswert?

Patrick L. schrieb:
> Und das LED Blinkt mit der Devault Watchdog und Lo-Osc. frequenz...

Und jetzt packe da mal eine sinnvolle Zeitkonstante rein. Mit Blinky 
meinen wir doch sicherlich alle, dass die LED in einer vorgegebenen Zeit 
blinkt oder?

: Bearbeitet durch User
von Cyblord -. (cyblord)


Lesenswert?

Patrick L. schrieb:
> Ben S. schrieb:
>> In Assembler mitnichten.
>
>
1
>  bis.b #0x01,&P1DIR             ;P1.0 (LED1) output
2
>  xor.b #0x01,&P1OUT             ;P1.0 (LED1) Toggle
3
>  BR    $                        ; Waitt of Watchdog Reset
4
>
>
> Und das LED Blinkt mit der Devault Watchdog und Lo-Osc. frequenz...

Blinken durch Reset. Ist DAS die hohe Qualität welche uns die ASM Jünger 
versprechen?

von Patrick L. (Firma: S-C-I DATA GbR) (pali64)


Lesenswert?

Sicher wenn's weiter nix ist?
Geht auch mit 3 Zeilen aber ich will zuerst dein "C" Sehen so kannst du 
ja nur von mir Abkupfern ;-)

von Cyblord -. (cyblord)


Lesenswert?

Patrick L. schrieb:
> Sicher wenn's weiter nix ist?
> Geht auch mit 3 Zeilen aber ich will zuerst dein "C" Sehen so kannst du
> ja nur von mir Abkupfern ;-)

Oh sorry. Der C vs ASM Schwanzvergleich wird mit mir nicht stattfinden. 
Ich kämpfe auch ungern gegen unbewaffnete.

Nur dass DER Code da oben Mumpitz ist, muss nicht weiter diskutiert 
werden.

: Bearbeitet durch User
von Patrick L. (Firma: S-C-I DATA GbR) (pali64)


Lesenswert?

Cyblord -. schrieb:
> Blinken durch Reset. Ist DAS die hohe Qualität welche uns die ASM Jünger
> versprechen?

Keine Ahnung bin kein Jünger ;-)

Cyblord -. schrieb:
> Oh sorry. Der C vs ASM Schwanzvergleich wird mit mir nicht stattfinden.

Sorry du hast ja recht.
Lies mich mal wieder Hinreißen, Normalerweise Ignoriere ich solche 
Sachen.
Werde darauf nicht mehr Antworten.
Es ging um AVR Wahl und nicht um Code in dem Thread.

Alsso JA Mit AVR Anzufangen ist nicht schlecht, obwohl es nicht der µC 
meiner Wahl wäre, aber einfach weil ich schon auf andere einfachst µC 
wie, 8048, 8051, 6502, usw. usw. eingefahren bin.

: Bearbeitet durch User
von Ben S. (bensch123)


Lesenswert?

Patrick L. schrieb:
> Sicher wenn's weiter nix ist?
> Geht auch mit 3 Zeilen aber ich will zuerst dein "C" Sehen so kannst du
> ja nur von mir Abkupfern ;-)

Hm, auf dem XMega wäre das mit unbestimmter Frequenz (ich habe nicht 
geprüft, ob die Register richtig geschrieben sind):
1
int main(){PORTA->DIR |= 1; while(1) PORTA->DIRTGL |= 1; return 0;}

Wobei ich natürlich den Vergleich mit Blinky äußerst daneben finde. Denn 
sobald auch nur etwas Komplexität ins Programm kommt wird Assembler 
absolut unleserlich und der Umfang explodiert.

Ich weiß, stimmt nicht - alles ganz übersichtlioch und wartungsfrei und 
so.

Wir alle wissen, wo man noch Assembler einsetzt (und sonst nirgends): 
Zur punktuellen Optimierung beispielsweise.

: Bearbeitet durch User
von Peter D. (peda)


Lesenswert?

Patrick L. schrieb:
> bis.b #0x01,&P1DIR             ;P1.0 (LED1) output
>  xor.b #0x01,&P1OUT             ;P1.0 (LED1) Toggle
>  BR    $                        ; Waitt of Watchdog Reset

Beim AVR geht das nicht, da setzt das Watchdog-Reset alle Port-Register 
zurück, da toggled also nichts.
Welcher seltsame MC ist das denn, wo der Watchdog kein richtiges Reset 
ausführt?

Man könnte den AVR hinter dem Toggle durch den leeren Flash durchlaufen 
lassen. Mit dem ATtiny85 sind das etwa 4000 NOPs (0xFFFF), d.h. 2Hz 
Blinken auf interne 16kHz gefust.

: Bearbeitet durch User
von Jobst M. (jobstens-de)


Lesenswert?

Johannes S. schrieb:
> Jobst M. schrieb:
>> [x] TCP/IP-Stack in ASM geschrieben.
>> [x] 64-Bit Orthodrome auf 8051 ASM berechnen lassen.
>> [x] 64k ROM komplett mit ASM gefüllt.
>
> und, hast du Kollegen die das nachvollziehen, verstehen und warten
> können?
> Glückwunsch wenn ja. Ansonsten bist du unbeliebt weil du meinst
> unersetzlich zu sein. Oder Nerd der das Wissen ohne viel Aufsehen mit
> ins Grab nimmt.

Wir kommen gut miteinander klar und haben viel Spaß bei der Arbeit.
Mein Code ist IMMER, unabhängig von der Sprache, umfangreich 
beschrieben. Ich habe ja keine Lust darauf aus dem Urlaub zurückgeholt 
zu werden.
Die drei Beispiele müssen die Kollegen aber nicht nachvollziehen können, 
da sie aus anderen Projekten sind.
Dennoch wird vermutlich jeder damit klar kommen der die Sprache lesen 
kann.

M. K. schrieb:
> Jobst M. schrieb:
>> Jeder soll die Sprache
>> benutzen, mit der er glücklich wird!
>
> DAS ist für mich der, ich sag mal, wichtigste Satz in der ganzen
> Diskussion und dem kann man nur voll und ganz zustimmen.

Dennoch geht das Getrommele wieder los: "Meine Sprache ist aber trotzdem 
besser für Dich! ..."

Peter D. schrieb:
> Nö, da ist ein riesen Unterschied.
> Wenn Du die Familie wechselst, muß Du im C-Programm nur die wenigen
> Hardwarezugriffe (Pins, ADC, Timer usw.) anpassen.

Man sollte meinen, dass das so ist, ist es aber häufig nicht.
Die Praxiserfahrung zeigt mir, dass die Wirklichkeit anders aussieht.

> Vorzugsweise hat man die schon in extra Funktionen separiert.

Das ist in ASM genau so.

> Sehr schön kann man das sehen, wenn man z.B. vom Arduino Nano zum
> Arduino Due wechselt, da sind sogar die Hardwarelibs kompatibel. Man muß
> eigentlich nichts neu machen.

Wie schon gesagt:

Jobst M. schrieb:
> Auf ordentlich abstrahierten Systemen finde ich es richtig eine
> Hochsprache zu nutzen.

> In Assembler kannst Du getrost alles wegschmeißen und nochmal ganz von
> vorne anfangen.

Sehe ich nicht ganz so drastisch. Ich entferne Macros und Funktionen für 
die alte Plattform und hänge diese für die neue ein.
Dann schnappe ich mir den Rest. Befehl für Befehl findet man in den 
meisten Fällen ein Pendant auf der Zielplattform. Evtl. kann man 
automatische Ersetzung benutzen.
Natürlich ist das etwas Arbeit, aber man muss die Funktionalität nicht 
neu erfinden.

Ben S. schrieb:
> Und nein, Assembler ist
> auch bei guter Formatierung einfach unübersichtlich und schlecht
> wartbar.

Kannst Du akzeptieren, dass das nicht für alle Menschen zutrifft?

Patrick L. schrieb:
> wenn ich das mit 3 Zeilen Assembler schaffe ;-)

**Facepalm*


Gruß
Jobst

von Minus M. (Firma: irre) (minusman)


Lesenswert?

>
1
>  bis.b #0x01,&P1DIR             ;P1.0 (LED1) output
2
>  xor.b #0x01,&P1OUT             ;P1.0 (LED1) Toggle
3
>  BR    $                        ; Waitt of Watchdog Reset
4
>


Hier sehen wir den wunderschönen Unterschied zwischen Hochsprache und 
Assembler.

In Hochsprachen hat sich das Konzept des "Clean Code" halbwegs 
durchgesetzt.
Beispiel:
Wenn ich eine LED toggeln will, schreibe ich Led.toggle();
Da braucht es keinen Komentar, welcher mir die Welt erlärt.

Das "Wie die LED getoggelt wird?" kann ich beruhigt einer tieferen und 
austauschbaren Schicht überlassen.

von Cyblord -. (cyblord)


Lesenswert?

Minus M. schrieb:
> In Hochsprachen hat sich das Konzept des "Clean Code" halbwegs
> durchgesetzt.

Richtig. Und ich würde sogar so weit gehen zu behaupten, dass mit ASM 
das Konzept des "Clean Code" gar nicht durchhaltbar ist.

Ich kann mir einfach keinen TCP/IP Stack in ASM vorstellen, der auch nur 
halbwegs übersichtlich und größtenteils Selbst-Dokumentierend ist oder 
der irgendwelchen Clean-Code Prinzipien genügen kann.

: Bearbeitet durch User
von Johannes S. (Gast)


Lesenswert?

Jobst M. schrieb:
> Wir kommen gut miteinander klar und haben viel Spaß bei der Arbeit.

Na dann war ich wohl zu pessimistisch, passiert schonmal nach ner 
Flasche Vino :)

> Mein Code ist IMMER, unabhängig von der Sprache, umfangreich
> beschrieben. Ich habe ja keine Lust darauf aus dem Urlaub zurückgeholt
> zu werden.

Das ist auch löblich, das kenne ich auch anders, sogar von eigenem Code 
:))

Bis zu welchem Level geht denn der IP Stack? Spätestens bei HTTP hört 
der Spaß doch auf, und für das S in IoT wird es richtig unangenehm.
In C ist ein IP Stack schon aufwändig genug, den Code von z.B. lwIP 
guckt sich auch nicht jeder freiwillig an. Schon mit der Optimierung der 
Einstellungen hat man reichlich zu tun.

Und alleine so TCP Anwendungen machen für mich die AVR nicht mehr 
lohnenswert. Zum Einstieg ok weil weniger komplex, aber alleine das 
einfachere debuggen der CM war für mich Grund genug das AVR Zeitalter zu 
beenden.

von Christian (dragony)


Lesenswert?

Minus M. schrieb:
>>
1
>>  bis.b #0x01,&P1DIR             ;P1.0 (LED1) output
2
>>  xor.b #0x01,&P1OUT             ;P1.0 (LED1) Toggle
3
>>  BR    $                        ; Waitt of Watchdog Reset
4
>>
>
>
> Hier sehen wir den wunderschönen Unterschied zwischen Hochsprache und
> Assembler.

Nein. Hier sehen wir nur jemanden, der entweder keinen guten Code 
erzeugen kann, oder die schwachsinnige Herausforderung mit 3 Zeilen Code 
wörtlich genommen hat.

In Assembler geht das so:
1
0:
2
rcall led_on
3
4
ldi r16,50
5
rcall delayms
6
7
rcall led_off
8
9
ldi r16,50
10
rcall delayms
11
12
rjmp 0b

Alternativ, wenn es weniger Zeilen einnehmen soll:
1
0:
2
rcall led_on
3
ldi r16,50 $ rcall delayms
4
rcall led_off
5
ldi r16,50 $ rcall delayms
6
rjmp 0b

Ob man die Parameter einer Funktion in die selbe Zeile schreiben will 
oder nicht, ist Geschmackssache.

: Bearbeitet durch User
von Minus M. (Firma: irre) (minusman)


Lesenswert?

Christian S. schrieb:
> In Assembler geht das so:
> rcall led_on

Es gibt in ASM keinen Mechanismius, welcher den rcall weg optimieren 
kann.
Damit ist der "Speed Vorteil" von ASM verloren und an C/C++ gegangen.
Widerspricht so dem Chor der "ASM ist besser" Priester.

von Christian (dragony)


Lesenswert?

Minus M. schrieb:
> Christian S. schrieb:
>> In Assembler geht das so:
>> rcall led_on
>
> Es gibt in ASM keinen Mechanismius, welcher den rcall weg optimieren
> kann.
> Damit ist der "Speed Vorteil" von ASM verloren und an C/C++ gegangen.
> Widerspricht so dem Chor der "ASM ist besser" Priester.

Kurzsichtiger Blödsinn. Warum soll ich da drei Takte sparen, die ich 
dann im delayms sowieso verbrate? So könnte man sogar in der Funktion 
noch einen Log-Eintrag generieren, falls die LED z.B. eine Error-LED 
ist.

von Martin V. (oldmax)


Lesenswert?

Hi
Braucht ihr diese unsinnige Selbstdarstellung? Der TO ist ANÄNGER !

Robert schrieb:
> Hallo!
> Ich habe neulich von einem Bekannten sämtliche Bücher geschenkt
> bekommen, da ich ihm gesagt habe das ich mich für Elektronik &
> Mikrocontroller interessiere.

Er hat bisher weder etwas über sein Alter oder sonstwas über sich 
ausgesagt. Wenn er ein Troll ist, dann tut ihr genau das, was er will. 
Ist er das, wofür ich ihn halte, habt ihr ihn ganz wuschig gemacht mit 
euren Dreizeilencode und TCP Stacks. Mann, ihr müßt es aber wirklich 
nötig haben. Werdet ihr auf eurem Arbeitsplatz nicht mehr gelobt? Das 
ist schade, aber so ist der Job, dafür gibt's, auch wenn's frustrierend 
ist, Kohle. Dem TO kann ich noch ein wenig zur Orientierung mitgeben. 
Zugegeben, VB und Assembler sind nicht grad erste Wahl, können aber 
durchaus Interesse wecken, wenn man Schritt für Schritt selbst ein paar 
erklärte Experimente damit machen kann. Obwohl ich weiß, das der TO 
schon Lektüre in ausreichender Form vorliegen hat, denke ich ein Blick 
in den Link kann sich trotzdem lohnen.
  https://www.makerconnect.de/index.php?threads/ver%C3%B6ffentlichung-pc-und-%C2%B5c-programmieren-in-vb-und-assembler-lehrbuch.4252/
Gruß oldmax

: Bearbeitet durch User
von Tim  . (cpldcpu)


Lesenswert?

Hier ist ein Blinky in Micropython
1
from machine import Pin
2
import time
3
4
pin = Pin(25, Pin.OUT)
5
6
while True:
7
    pin.toggle()
8
    time.sleep_ms(150)

von Jobst M. (jobstens-de)


Lesenswert?

Johannes S. schrieb:
> Bis zu welchem Level geht denn der IP Stack? Spätestens bei HTTP hört
> der Spaß doch auf, und für das S in IoT wird es richtig unangenehm.
> In C ist ein IP Stack schon aufwändig genug, den Code von z.B. lwIP
> guckt sich auch nicht jeder freiwillig an. Schon mit der Optimierung der
> Einstellungen hat man reichlich zu tun.

HTTP (Server oder Client) ist ja schon eine Anwendung selbst und gehört 
nicht mehr zum Stack. Dieser endet genau an dieser Schnittstelle.
Tatsächlich ist Netzwerk auf AVR nicht unbedingt sexy, brauchte ich aber 
hierfür, also habe ich das mal gemacht (Auch weil ich das einfach mal 
selbst gemacht haben wollte). Der Stack kann ICMP (nur Ping, also Echo 
request und Echo reply) und TCP. Die TCP-Daten (für einen bestimmten 
Port) werden von einem Kommandointerpreter, welcher sonst auch an die 
UART geknotet werden kann, entgegen genommen und beantwortet. Dem könnte 
ich jetzt noch ein GET-Kommando beibringen und er würde einen 
HTML-String zurück liefern können. Brauchte ich aber nicht. "Telnet" 
reicht.

Letztlich hat man einen Speicherbereich, eine Struktur, in die Daten 
eingetragen werden bzw. beim Empfang ausgelesen werden. Dazu gibt es 
Zeiger, wo man was findet.
Eigentlich ist bis auf die Nutzdatenlänge alles recht statisch. Und gar 
nicht so komplex, finde ich.
Mehrere Verbindungen kann man bei dem Stack allerdings nicht aufbauen.

Und ja: Für andere Netzwerkanwendungen nutze ich größere Controller und 
einen fertigen IP-Stack. Aber ich wollte das einfach mal selbst gemacht 
haben.

Martin V. schrieb:
> Werdet ihr auf eurem Arbeitsplatz nicht mehr gelobt? Das
> ist schade, aber so ist der Job, dafür gibt's, auch wenn's frustrierend
> ist, Kohle.

Aufgrund von Corona wird nicht mehr gekuschelt! :-D / :-(
Wenn es angebracht ist, gibt es auch Lob.
Die meiste Zeit kann ich tun, was ich gerne mache.
Und ich finde es nicht frustrierend dafür auch noch Kohle zu bekommen.

Ist das bei Dir anders? Dann sprich doch mal mit Deinem Arbeitgeber, 
dass Dich die Kohle frustriert. Er wird dort sicherlich gerne etwas 
machen! :-D

Gruß
Jobst

von Martin V. (oldmax)


Lesenswert?

Hi
Sorry, aber ich hab mich schon vor 6Jahren von meinem Arbeitgeber 
getrennt
😀
Gruß oldmax

von Minus M. (Firma: irre) (minusman)


Lesenswert?

Christian S. schrieb:
> Warum soll ich da drei Takte sparen, die ich
> dann im delayms sowieso verbrate?

Guten Tag, Herr Unsinnig und Kurzsichtig.
Es ist nett, das sie eingestehen, dass übersichtliche ASM Programme auf 
Kosten der Geschwindigkeit zu erstellen sind.

Merke:
Warteschleifen sind als pro Argument, für ASM, kaum tragfähig.

Mir scheint, Herr Kurzsichtig, dass sie sich da irgedwie verrannt haben.

Auch wenn sie sich das nicht vorstellen können, Herr Unsinnig, ein klein 
wenig Erfahrung mit Asm ist auch mein eigen.
Auch ein paar Kriterien sind mir bewusst:
a. Wenn um jeden Taktzyklus gegeizt werden muss.
b. Ebenso wenn jedes Programmbyte zuviel zum KO Kriterium wird.
c. Man dauerhaft innerhalb einer Prozessorfamilie arbeitet.

Schönheit, Wartbarkeit, Portabilität, automatische Optimierung, 
Definitionen von Datentypen, Abstaktionen und vieles Weitere, gehört 
einfach nicht in den Kernkompetenzbereich von Assemblern und ihren 
Anwendern.

Bei einem ansonsten kleinen und doofen Blinkprogramm macht es überhaupt 
keinen Unterschied, ob man es in ASM, C, C++ oder was für einer Sprache 
abfasst.
Einzig in der Lesbarkeit unterscheidet es sich.

Hier mal ein Beispiel für einen (schnellen) "Blinker" in C++ für 16MHz 
ATMega328P
1
#include <CombiePin.h>
2
3
// Arduino UNO Pin 13 == LED_BUILTIN == PB5
4
using BuiltInLed = Combie::Pin::OutputPin<LED_BUILTIN>;
5
6
BuiltInLed led;
7
8
int main() 
9
{
10
   led.init();
11
   for(;;)
12
   {
13
      led.toggle();
14
   }
15
}


Dazu hier ein Auszug aus dem Kompilat(nur die main).
1
00000080 <main>:
2
  80:  25 9a         sbi  0x04, 5   ; 4
3
  82:  80 e2         ldi  r24, 0x20 ; 32
4
  84:  83 b9         out  0x03, r24 ; 3
5
  86:  fe cf         rjmp  .-4      ; 0x84 <main+0x4>


Jetzt zeigen sie bitte, Herr Assemblerspezi, wie da noch eine 
Beschleunigung möglich sein soll...
Ich sage: Ist es nicht.
Damit ist, zumindest an der Stelle, mit ASM kein Blumentopf zu gewinnen.


--------

Das Grundthema des Threads ist, "Wie fange ich mit der µC 
Programmiererei an?"
Dazu habe ich eine klare Meinung/Empfehlung!
1. Anfangen mit C++  (wenn es nicht anders geht, auch mit C)
2. Ruhig mit kleinen µC, wie die ATMegas

Wobei es keinen Schaden mit sich bringt, auch Asm mal zu üben, und sei 
es auch nur um festzustellen, dass dieses wenig Freude bereitet.
In Sachen µC verstehen, ist das durchaus hilfreich.

: Bearbeitet durch User
von Ob S. (Firma: 1984now) (observer)


Lesenswert?

Minus M. schrieb:

> Dazu hier ein Auszug aus dem Kompilat(nur die main).
>
1
> 00000080 <main>:
2
>   80:  25 9a         sbi  0x04, 5   ; 4
3
>   82:  80 e2         ldi  r24, 0x20 ; 32
4
>   84:  83 b9         out  0x03, r24 ; 3
5
>   86:  fe cf         rjmp  .-4      ; 0x84 <main+0x4>
6
>
>
>
> Jetzt zeigen sie bitte, Herr Assemblerspezi, wie da noch eine
> Beschleunigung möglich sein soll...
> Ich sage: Ist es nicht.

Weil du keine Ahnung hast. Ein typischer C/C++-Only-Krüppel, der das 
Mantra der Fetischisten glaubt, dass der Compiler schon alles optimal 
macht. Nein, das tut er nicht.

Die Schleife deines "tollen Compilers" umfasst satte 6 Takte. Ein 
Assemblerprogrammierer kann dieselbe Funktionalität in drei Takten 
umsetzen. Also 200% Performance im Vergleich zum lausigen Compiler. 
Jedenfalls auf allen halbwegs "aktuellen" AVR8.

sieht dann prinzipiell so aus:

  ldi Reg,Maske
loop:
  out PINx,Reg
  rjmp loop

Für die ganz alten, die kein Pin-Togglen via PINx unterstützen, wären es 
vier Takte. Also immerhin auch noch 150% Performance bezüglich des 
Ergebnisses des lausigen Compilers.

sieht dann prinzipiell so aus:

  ldi Reg1,Maske
  ldi Reg2,0
loop:
  out PORTx,Reg1
  out PORTx,Reg2
  rjmp loop

Naja, die Fetischisten argumentieren nun gewöhnlich in höchster Not an 
dieser Stelle, dass es bei komplexeren Sachen besser würde. Nein, wird 
es nicht. Höchstens im Vergleich zu einem Asm-Anfänger, nicht aber im 
Vergleich zu jemandem, der die Maschine wirklich beherrscht, also einem 
echten erfahrenen Asm-Programmierer. Der kennt auch (mindestens) alle 
Tricks der Compilerbauer.
Er ist aber obendrein natürlich auch schwer im Vorteil, denn er ist 
nicht gezwungen, seine Optimierungen in hochkomplexe Macros für den 
allgemeinen Fall in den Kontext einer festgelegten Struktur zu giessen.

von Minus M. (Firma: irre) (minusman)


Lesenswert?

Ob S. schrieb:
> Die Schleife deines "tollen Compilers" umfasst satte 6 Takte. Ein
> Assemblerprogrammierer kann dieselbe Funktionalität in drei Takten
> umsetzen. Also 200% Performance im Vergleich zum lausigen Compiler.
> Jedenfalls auf allen halbwegs "aktuellen" AVR8.
>
> sieht dann prinzipiell so aus:
>
>   ldi Reg,Maske
> loop:
>   out PINx,Reg
>   rjmp loop

Mein Sohn!
Du behauptest hier, dass mein out mehr Takte in Anspruch nimmt, als dein 
out.
Gleiches gilt für den rjmp.

Das kann nicht dein Ernst sein.
Sorry, aber so dermaßen blöd kannst du gar nicht sein, wie du dich hier 
präsentierst.

Ich bitte dich: Überprüfe deine Aussagen nochmal.
Gehe in dich, und bereue.
Danach: Leiste Abbitte!

: Bearbeitet durch User
von Martin V. (oldmax)


Lesenswert?

Hi
Seid ihr jetzt total abgedreht? Soll das etwa dem TO oder sonst wem eine 
Hilfe sein? Also, wenn das eine Folge von Corona ist, dann werden wir 
wohl alle früher oder später auch irre. 😱
Gruß oldmax

von Minus M. (Firma: irre) (minusman)


Lesenswert?

Martin V. schrieb:
> irre
Dem Hochsprachen Fan ist vielleicht der ein oder andere Taktzyklus, oder 
Byte, egal. (wenn ihm es sich leisten kann)
Ist das irre?

Der ASM Masochist greift zu offensichtlichen Lügen.
Ist das irre?

: Bearbeitet durch User
von MaWin O. (mawin_original)


Lesenswert?

Ob S. schrieb:
> Die Schleife deines "tollen Compilers" umfasst satte 6 Takte.

Vielleicht solltest du den Code besser noch einmal lesen.

von Minus M. (Firma: irre) (minusman)


Lesenswert?

Ob S. schrieb:
> Für die ganz alten, die kein Pin-Togglen via PINx unterstützen, wären es
> vier Takte. Also immerhin auch noch 150% Performance bezüglich des
> Ergebnisses des lausigen Compilers.
>
> sieht dann prinzipiell so aus:
>
>   ldi Reg1,Maske
>   ldi Reg2,0
> loop:
>   out PORTx,Reg1
>   out PORTx,Reg2
>   rjmp loop
>
> Naja, die Fetischisten argumentieren nun gewöhnlich in höchster Not an
> dieser Stelle, dass es bei komplexeren Sachen besser würde. Nein, wird
> es nicht. Höchstens im Vergleich zu einem Asm-Anfänger, nicht aber im
> Vergleich zu jemandem, der die Maschine wirklich beherrscht, also einem
> echten erfahrenen Asm-Programmierer. Der kennt auch (mindestens) alle
> Tricks der Compilerbauer.

Das habe ich mal überprüft:
1
#include <CombiePin.h>
2
3
// Arduino UNO Pin 13 == LED_BUILTIN ist PB5
4
using Led = Combie::Pin::OutputPin<LED_BUILTIN>;
5
6
Led led;
7
8
int main() 
9
{
10
   led.init();
11
   for(;;)
12
   {
13
     led = 1;
14
     led = 0;
15
   }
16
}

Resultat, wieder nur die main:
1
00000080 <main>:
2
  80: 25 9a         sbi 0x04, 5 ; 4
3
  82: 2d 9a         sbi 0x05, 5 ; 5
4
  84: 2d 98         cbi 0x05, 5 ; 5
5
  86: fd cf         rjmp  .-6   ; 0x82 <main+0x2>
Auch hier nix von den, angeblich gewonnenen, 50% zu sehen.
Im Gegenteil, das ASM Genie hätte hier sogar 2 Register unnötig 
verplempert.

: Bearbeitet durch User
von Jobst M. (jobstens-de)


Lesenswert?

Jetzt müsst Ihr nur noch erklären, wozu sich das Programm sinnvoll 
einsetzen lässt.
Außer um sich hier gegenseitig zu beleidigen.

Gruß
Jobst

von Yalu X. (yalu) (Moderator)


Lesenswert?

Minus M. schrieb:
> Resultat, wieder nur die main:
>
> 00000080 <main>:
>   80: 25 9a         sbi 0x04, 5 ; 4
>   82: 2d 9a         sbi 0x05, 5 ; 5
>   84: 2d 98         cbi 0x05, 5 ; 5
>   86: fd cf         rjmp  .-6   ; 0x82 <main+0x2>
>
> Auch hier nix von den, angeblich gewonnenen, 50% zu sehen.
> Im Gegenteil, das ASM Genie hätte hier sogar 2 Register unnötig
> verplempert.

Und das C++-Genie kann nicht bis 6 zählen ;-)

Aber bitte nicht immer noch mehr vom Thema abschweifen. Die Frage war
nicht, ob Assembler oder C++, sondern ob AVRs lohnenswert sind.

von Patrick L. (Firma: S-C-I DATA GbR) (pali64)


Lesenswert?

Yalu X. schrieb:
> Aber bitte nicht immer noch mehr vom Thema abschweifen. Die Frage war
> nicht, ob Assembler oder C++, sondern ob AVRs lohnenswert sind.

Un da würde ich ein Klares JA sagen (Habe ich shon gaaanz weit oben 
geschrieben.
Auch wenn ich nicht mit AVR Arbeite, aber das hat andere Gründe siehe 
Post: Beitrag "Re: AVR Mikrocontroller Lohnenswert?"

73 55

von Martin V. (oldmax)


Lesenswert?

Hi

Da das Grundthema bereits vom TO abgehakt scheint und die Diskussion 
schon lange nicht mehr mit der Frage beschäftigt, habe ich mich 
entschlossen, doch noch einmal auf ein Post zu antworten

Minus M. schrieb:
> Martin V. schrieb:
>
>> irre
>
> Dem Hochsprachen Fan ist vielleicht der ein oder andere Taktzyklus, oder
> Byte, egal. (wenn ihm es sich leisten kann)
> Ist das irre?
> Der ASM Masochist greift zu offensichtlichen Lügen.
> Ist das irre?

Gut, des Lesens scheinst du ja mächtig zu sein aber bedauerlicherweise 
scheint da nichts zu sein, was dich den Inhalt verstehen läßt.
Gruß oldmax

von Minus M. (Firma: irre) (minusman)


Lesenswert?

Yalu X. schrieb:
> Und das C++-Genie kann nicht bis 6 zählen ;-)
Es wäre ja auch zu schön, wenn ich ohne jeden Fehler wäre.
Vielleicht gar sogar viel zu langweilig.

: Bearbeitet durch User
von Robert R. (robert_user)


Lesenswert?

Martin V. schrieb:
> Hi
>
> Da das Grundthema bereits vom TO abgehakt scheint und die Diskussion
> schon lange nicht mehr mit der Frage beschäftigt

Naja nicht ganz, ich lese alles mit und verfolge die Diskussion mit 
großem Interesse :D
Es weicht zwar von meiner ursprünglichen Frage ab, aber lehrreich sind 
die Beiträge und Meinungen trotzdem.

In der zwischenzeit hat sich was die Hardware angeht einiges geändert, 
was würdet ihr den für eine Hardware empfehlen? Bei den ISP 
Programmiergeräten gibt es eine große Auswahl und eine großen 
Preisunerschied von 10€ - über 100€.. Was lohnt sich da?

von Martin V. (oldmax)


Lesenswert?

Hi
Nun Robert, anfangs stellte ich eine Frage nach Alter und beruflicher 
Ausrichtung. Wenn du mit Elektronik vollständig neu anfängst und von 
Elektrik auch keine Ahnung hast, muß da schon ein wenig ausgeholt 
werden. Klar reicht vielleicht ein ISP Programmer für ATiny Idee AtMega, 
aber um irgendwas zu basteln und auszuprobieren kommen da schnell noch 
Mal 100€ für Bauteile, Meßgeräte und Werkzeug zusammen. Da ist das 
Taschengeld schnell alle.
Aber auch für Berufstätige ist Anfangs die finanzielle Belastung nicht 
so eingeplant.
Aus diesem Grund hab ich mal ein Buch geschrieben, welches im ersten 
Teil beschreibt, wie ein Programm entwickelt wird. Dafür hab ich VB 
gewählt, weil es im Netz kostenlos verfügbar ist und sich sehr gut 
eignet, um erst mal festzustellen, ob programmieren überhaupt "liegt".
Der zweite Teil befaßt sich mit, jetzt bitte nicht wieder 
rumdiskutieren, mit Assembler und Atmega8. Alle Beispiele sind aber auch 
auf einige andere AtMega anwendbar.
Die Lektüre ist kostenlos im Netz verfügbar. Da steht auch etwas von 
Kosten und auch ein bisschen was zur Elektronik.
Falls es dich interessiert
https://www.makerconnect.de/index.php?threads/ver%C3%B6ffentlichung-pc-und-%C2%B5c-programmieren-in-vb-und-assembler-lehrbuch.4252/
An den Rest der Gemeinde, nein, ich bekomme dafür kein Geld und ja, es 
ist nicht ganz fehlerfrei, aber es steht alles wichtige drin, so das man 
den Fehlern auf die Spur kommen kann.
Gruß oldmax

von Patrick L. (Firma: S-C-I DATA GbR) (pali64)


Lesenswert?

Robert R. schrieb:
> was würdet ihr den für eine Hardware empfehlen?

Tja darauf antworte ich natürlich mit MSP430 ;-)

Gut, Günstig, Große Community, Kostenlose Samples, Leistung stark, 
Stromsparend, Integrierte Analogtechnik, FRAM, Umfangreiche OnChip 
Pheripherie, Hohe Verfügbarkeit, Erfahrung damit seit 1992 usw.

Und grad zum anfangen, sind die launchpads eine feine Sache ;-)

: Bearbeitet durch User
von M.A. S. (mse2)


Lesenswert?

Patrick L. schrieb:
> Robert R. schrieb:
>> was würdet ihr den für eine Hardware empfehlen?
>
> Tja darauf antworte ich natürlich mit MSP430 ;-)

Mindestens einer von uns beiden hat die Frage falsch verstanden.

von Klaus W. (mfgkw)


Lesenswert?

Robert R. schrieb:
> In der zwischenzeit hat sich was die Hardware angeht einiges geändert,
> was würdet ihr den für eine Hardware empfehlen? Bei den ISP
> Programmiergeräten gibt es eine große Auswahl und eine großen
> Preisunerschied von 10€ - über 100€.. Was lohnt sich da?

Wenn AVR: ich hatte jahrelang mit einem selbstgebastelten Programmer am 
Druckerport gearbeitet, hat einwandfrei funktioniert - Kosten praktisch 
0.
Als dann die Druckerports ausgingen an den aktuellen Rechnern hatte ich 
mir einen AVRISP mkII gekauft für damals knapp 40€.
Mehr habe ich nie vermisst.

von Cyblord -. (cyblord)


Lesenswert?

Klaus W. schrieb:
> Mehr habe ich nie vermisst.

Mehr hast du nie kennengelernt. Und meinst jetzt, deinen extrem 
beschränkten Horizont auch noch an anderen weitergeben zu müssen.

von Patrick L. (Firma: S-C-I DATA GbR) (pali64)


Lesenswert?

M.A. S. schrieb:
> Mindestens einer von uns beiden hat die Frage falsch verstanden.

Ja natürlich LOL oder etwas wage formuliert.
Nun wen AVR verwende ich den ICE :-)

Dies weil das Debuging sauber Funktioniert und eine große Palette von 
Chips unterstützt wird Inkl ATtiny ;-)

: Bearbeitet durch User
von Max M. (Gast)


Lesenswert?

Patrick L. schrieb:
> Tja darauf antworte ich natürlich mit MSP430 ;-)

Verbrennt den Ketzer! 😉

Ich finde auf die Frage viele Antworten weil sie ohne einen Sack voller 
Rahmenbedingungen nicht zu beantworten ist.

Es gibt Gründe für PIC10 bis PIC32 + dsPICs, die sich alle recht kräftig 
unterscheiden. Natürlich die AVRs, die MSP430, STM32 und alle Cortexe 
ohnehin und ich persöhnlich finde auch den STM8 recht schick.
Den RP2040 würde ich aber auch gerne mal ausprobieren.
Ich finde die PIOs spannend und es gab situationen da hätte ich sowas 
sehr gut gebrauchen können, statt mit unflexibler glue logic 
rumzumachen.
Ein wenig wie der Parallax Propeller in modern zu dem ich mich damals 
nicht durchringen konnte.

Wieder andere werden jetzt damit kommen das sie Power brauchen, ihnen 
Strom und Platz wumpe ist und es die Zukunft sein muss, statt die gut 
abgehangene Vergangenheit. Also RISC-V, wobei andere meinen MIPS sei 
unterbewertet.

Alles echt müssig.
Ich versteh auch den leidenschaftlichen Kampf nicht.
Ist für mich alles die gleiche Suppe.
Ein gewisser Initialaufwand die Toolchain zum Laufen zu bekommen und der 
Rest ist Anwendung der LIBs und der Blick ins DB.
Je ausgefuchster die CPU wird, umso lästiger wird das bare metall 
arbeiten damit, also verstehe ich auch die '8bit for ever' Fraktion ganz 
gut.

An fast jeder MCU die ich mal verwendet habe finde ich irgendwas 
besonders gut, was die anderen nicht haben.
Würde ich das nicht kennen, würde ich behaupten sowas braucht kein 
Mensch.
Aber z.B. der ADC im STM8, dem man ein watch window mitgeben kann und 
der dann auf Automatik oder HW-Timer gesteuert seine Kanäle durchtackert 
und Alarm gibt wenn Limits gerissen werden, ist extrem schick weil es 
keine CPU Interaktion braucht.
Solche Features, wo man HW kreativ intern verknoten kann, macht es oft 
möglich das eine schmalbrüstige 8bit MCU den Job spielend erledigt wo 
man ansonsten eine deutlich schneller MCU benötigt hätte.
Deswegen gibt es so viel PIC Derivate, weil die oft extrem angepasste HW 
haben, die den einen geilen Trick draufhat, der in diesem Projekt die 
Bude rockt.

Ich finde aber keinen Kandidaten den ich generell allen anderen 
vorziehen würde.
Ist immer die Frage was ich brauche und heutzutage ist Verfügbarkeit das 
Zünglein an der Waage und nicht der mega geile Chip den ich leider erst 
ende 2023 vielleicht unter Umständen in irgendeiner menge bekomme, wenn 
bis dahin nicht irgendjemand bereit ist Mondpreise dafür zu bezahlen.

von Robert R. (robert_user)


Lesenswert?

Vielen Dank für eure Antworten!
Zu meiner Person, ich bin 17 Jahre und habe Grundkenntnisse im 
Elektronik Bereich. Ich bastle gerne und schraube das ein oder andere 
Gerät was bei meinen Eltern kaputt geht ausseinander um zu sehen wie es 
aufgebaut ist.
Ich hab auch ein Multimeter und einen Lötkolben zuhause, ein paar 
Motoren aus alten Spielzeugen und Led's.
Jetzt möchte ich aber gerne tiefer in das Thema Elektronik einsteigen 
und deswegen schreibe ich hier rein (oft verstehe ich aber nicht alles 
worüber ihr spricht :D )
Das vorgestellte Buch fine ich ineteressant aber ich dachte eher mit C 
zu Programmieren, damit habe ich auch schon ein paar Programme 
geschrieben. Gegenüber Assembler bin ich auch offen, wie ich das 
verstanden habe ist es sinnvoll zu wissen wie man in Assembler 
Programmiert weil man dann die Abläufe besser versteht. Schneller geht 
es aber in C (bitte verzeiht mir wenn ich falsch liege, so habe ich das 
bisher verstanden)

: Bearbeitet durch User
von Robert R. (robert_user)


Lesenswert?

Ich habe mir jetzt diese Hardware ausgesucht :

https://www.ebay.de/itm/265167340695

https://www.ebay.de/itm/272399547360

Meinungen sind sehr gerne erwünscht

von Patrick L. (Firma: S-C-I DATA GbR) (pali64)


Lesenswert?

Robert R. schrieb:
> Ebay-Artikel Nr. 265167340695

Hast du den dazu passenden µC Board?
Das ist nur ein Shield.

von Robert R. (robert_user)


Lesenswert?

Patrick L. schrieb:
> Hast du den dazu passenden µC Board?
> Das ist nur ein Shield.

Nein ich dachte ich kan den µC hier rein stecken und den mit dem ISP 
Programmieren

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


Lesenswert?

Robert R. schrieb:
> Nein ich dachte ich kan den µC hier rein stecken und den mit dem ISP
> Programmieren
Falsch gedacht. Das ist nur eine Aufsteckplatine. Quasi der 
"Erweiterungskasten Programmiergerät" und du musst jetzt erst mal den 
"Grundkasten Mikrocontroller" kaufen. Dafür taugt jedes Arduino-Board, 
das den von dir gewünschten µC drauf hat. Und den µC kannst du dann auch 
ganz ohne Arduino-Framework verwenden.

Du kannst natürlich auch einfach mit dem Arduino anfangen, solltest dir 
aber immer bewusst sein, dass die Beispiele oft von "ambitionierten 
Anfängern" publiziert werden und meist nur für sich allein (hinreichend) 
gut laufen.
Wenn du z.B. den Displaytreiber aus dem Beispiel A nimmst und einen 
PWM-Regler vom Beispiel B hinzufügst, dann kann es sein, dass weder A 
noch B richtig tun, obwohl sie allein für sich "gut" laufen.
Als Tipp: wenn du ein delay() im Code findest, dann hast du oft schon 
den Programmfehler vor Augen...

Besonders die zu solchen von Anfängern veröffentlichten Projekten 
gehörige Hardware ist dann in vielen Fällen völliger Murks und eben wie 
der zugehörige Code irgendwie grade so hingefrickelt.

Robert R. schrieb:
> Gegenüber Assembler bin ich auch offen, wie ich das
> verstanden habe ist es sinnvoll zu wissen wie man in Assembler
> Programmiert weil man dann die Abläufe besser versteht.
Nein, man versteht sie eher noch weniger, weil sie ja kryptisch als 
Mikroschritte abgearbeitet werden. Aber man sieht, was es wirklich 
"kostet", eine bestimmte Funktion zu implementieren. Und es wird einem 
dabei klar, dass auf einem 8-Bit Rechner Operationen mit long oder gar 
float einfach extrem zeitaufwendig sind.

: Bearbeitet durch Moderator
von Cyblord -. (cyblord)


Lesenswert?

Robert R. schrieb:
> Nein ich dachte ich kan den µC hier rein stecken und den mit dem ISP
> Programmieren

Mannomann.
ISP bedeutet "In Circuit Programming".

Also dass du eben grade NICHT den Controller aus der Schaltung nimmst 
und irgendwo reinsteckst.

Entweder du hast irgendein Board oder du baust das auf dem Steckbrett 
auf. In beiden Fällen schließt du den ISP direkt dort an und 
programmierst den Controller in der Schaltung.

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


Lesenswert?

Cyblord -. schrieb:
> Mannomann.
> ISP bedeutet "In Circuit Programming".
Es bedeutet eigentlich "In System Programming"  ;-)

> Also dass du eben grade NICHT den Controller aus der Schaltung nimmst
> und irgendwo reinsteckst.
Das tut man seit vor der Jahrtausendwende eigentlich nicht mehr...

Ich würde hier einfach den Arduino mit dem Mega328 empfehlen. Immer 
wissend, dass es auch "besser" geht, wenn man den µC mal richtig 
ausnutzen will und Geschwindigkeit braucht.
Und dann braucht es für den Anfang eben nur ein USB-Kabel und den 
Arduino.

: Bearbeitet durch Moderator
von Cyblord -. (cyblord)


Lesenswert?

Lothar M. schrieb:
> Cyblord -. schrieb:
>> Mannomann.
>> ISP bedeutet "In Circuit Programming".
> Es bedeutet eigentlich "In System Porgramming"  ;-)

Ja korrekt. Solche Typen triggern mich da komm ich schon mit tippen 
durcheinander.

>
>> Also dass du eben grade NICHT den Controller aus der Schaltung nimmst
>> und irgendwo reinsteckst.
> Das tut man seit vor der Jahrtausendwende eigentlich nicht mehr...

Eben. Der TE plant das aber offensichtlich genau so.

von Adam P. (adamap)


Lesenswert?

Cyblord -. schrieb:
> Mannomann.
> ISP bedeutet "In Circuit Programming".

Du meinst wohl:
ISP  = In System Programming
ICSP = In Circuit Serial Programming

Edit:
Sorry, hatte die Seite nicht neu geladen und die vorherigen Beiträge 
nicht gesehen.

: Bearbeitet durch User
von Robert R. (robert_user)


Lesenswert?


von Mi N. (msx)


Lesenswert?

Robert R. schrieb:
> Also neue Wahl getroffen :
> 
https://www.reichelt.de/arduino-uno-rev-3-dip-variante-atmega328-usb-arduino-uno-dip-p154902.html?&trstct=vrt_pdn&nbc=1

Das hätte auch ich Dir empfohlen. Den ISP-Programmer brauchst Du 
zunächst nicht. Für den Arduino gibt es Programme, die ihm 
ISP-Programmierung ermöglichen.

Zum Arduino:
Es ist verlockend, seine Programme als arduinospezifische .INO- Dateien 
zu schreiben. Das ist sicherlich gut, um schnell etwas anzutesten, was 
man so im Netz findet. Damit kann man auch gelegentlichen Frust bei 
eigenen Entwicklungen kompensieren ;-)

Aber ich rate Dir, möglichst gleich mit reiner C-Programmierung ohne 
setup() und loop() anzufangen. Damit hast Du dann uneingeschränkten 
Zugriff auf die gesamte AVR-Peripherie.
Auch wenn die Arduino-IDE nicht so komfortabel zu bedienen ist, ist sie 
ein einfacher Einstieg mit Bootloader und ser. Monitor für 
Kontroll-/Debugausgaben und damit gut für erste Erfolgserlebnisse.

: Bearbeitet durch User
von Adam P. (adamap)


Lesenswert?

Robert R. schrieb:
> Kombiniert mit :
>
> Ebay-Artikel Nr. 272399547360

Ich überlege grad ob ein JTAG für dich vllt. nicht besser wäre.
Natürlich mit einem AVR der JTAG unterstützt.

So als Anfänger wäre es doch interessant zu sehen wie der Controller 
dein Code abarbeitet und wie/wo welche Register gesetzt werden.

Grund:
Dann kannst du z.B. mit dem AtmelStudio leicht debuggen um zu sehen was 
im Controller passiert. Das geht mit der Arduino IDE nicht.

Ja, per ISP könnte man auch debuggen (debug wire), aber beim 328er ist 
es mir schon sooo oft passiert, das er die Fuses nicht zurückgesetzt hat 
und dann wars das mit dem Controller, kommst nicht mehr drauf.

Edit:
Es wird dir 100% passieren, dass irgendwas nicht so abläuft wie du es 
dir wünscht und da man in der Arduino IDE den Code nicht "Schritt für 
Schritt" abarbeiten lassen kann, kann es sehr frustierend werden den 
Fehler zu finden.

Da du ja schon ein Buch hast für C und AVR, fang am besten direkt mit 
AtmelStudio an. (Meine Meinung - wenn du Arduino möchtest, bitte)

: Bearbeitet durch User
von Robert R. (robert_user)


Lesenswert?

Am liebsten wäre mir tatsächlich auch kein Arduino.
Sondern ein Board mit einem Atmel Chip drauf, ein Programmer dazu und 
das AVR Studio

von Georg M. (g_m)


Lesenswert?

AVR® DB Microcontroller Family
https://www.youtube.com/watch?v=EH1FozhBKHc

von Adam P. (adamap)


Lesenswert?

Robert R. schrieb:
> Am liebsten wäre mir tatsächlich auch kein Arduino.
> Sondern ein Board mit einem Atmel Chip drauf, ein Programmer dazu und
> das AVR Studio

Ich wollte dir grad das "ATMEL Evaluations-Board von Pollin" empfehlen, 
aber das gibt es nicht mehr und meins brauch ich ab und zu doch mal.
Ich schau mal was ich finde, dann liste ich es dir hier mal auf, ok?

Du kannst schon ein Arduino Board kaufen und es mit dem AtmelStudio 
verwenden. Aber ich schau mal was es so schönes gibt.

von Robert R. (robert_user)


Lesenswert?

Adam P. schrieb:
> Ich schau mal was ich finde, dann liste ich es dir hier mal auf, ok?

Sehr sehr gerne, vielen Dank!

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


Lesenswert?

Robert R. schrieb:
> Am liebsten wäre mir tatsächlich auch kein Arduino.
Du musst mit der Arduino Hardware nicht zwingend "Arduino" machen...

> Sondern ein Board mit einem Atmel Chip drauf, ein Programmer dazu und
> das AVR Studio
Dann kauf den Arduino, deinen seriellen Programmer und tu darauf mit dem 
Microchip Studio das, was dir gefällt.

Der Witz dabei: du kannst dank des Arduino-Systems ganz leicht 
irgendwelche Aufsteckmodule kaufen, dir den Arduino-Code dazu ansehen 
und die Dinger dann selber ansteuern.

: Bearbeitet durch Moderator
von Max M. (Gast)


Lesenswert?

Robert R. schrieb:
> Zu meiner Person
Sympathisch, so habe ich auch angefangen.
Mach ne Elektroniker Lehre und geh danach studieren.
In der Lehre lernst Du sehr viel das jemand der direkt vom Abi Studieren 
geht nie lernen wird.
Wegen dem Geld geht man eh nicht in die Entwicklung, da macht man lieber 
BWL oder Scheidungsrecht 😅

Robert R. schrieb:
> Am liebsten wäre mir tatsächlich auch kein Arduino.
> Sondern ein Board mit einem Atmel Chip drauf, ein Programmer dazu und
> das AVR Studio
Das ist eigentlich egal.
Du must nur mit irgendwas anfangen, mit was ist garnicht so wichtig.
Die arduinos sind spuckenbillig und Du bekommst schnelle Ergebnisse.
Aber im Endeffekt kannst Du den natürlich auch über AVR Studio + ISP 
betütern.

Später fällt dir der Wechsel leicht.
Ist mir ziemlich Wurst ob AVR, PIC, MSP430, STM8.
Für alle gibts C-Compiler und Progarmmer / debugger für kleinstes Geld 
und wie die Peripherie anzusprechen ist, steht im DB.
Alles kein Hexenwerk.

Der Arduino hat den Vorteil das den fast jeder kennt und am Anfang wirst 
Du Hilfestellung brauchen.
Beim STM8 oder einem der zahlreichen eher exotischen PIC varianten z.B. 
bist Du da ziemlich auf Dich alleine gestellt.

Du wirst wahrscheinlich schnell zu den größeren Dinger kommen.
Auch den ESP32 kann man in der Arduino IDE programmieren, die auch nur 
notdürftig verstecktes C / C++ ist.
Also fang einfach mit nem billigen Arduino an und entwickel Dich dann 
weiter.

von Johannes S. (Gast)


Lesenswert?

Mit einem Arduino Uno hat man ja ein einfaches Atmel Board, mit 
standarsierten Headern für die Zubehör Shields und dem Bootloader.
Einen ISP und Atmel Studio kann man auch verwenden, Das Atmel Studio 
kann sogar Arduino Projekte einlesen und konvertieren.

von M.A. S. (mse2)


Lesenswert?

Robert R. schrieb:
> Zu meiner Person, ich bin 17 Jahre und habe Grundkenntnisse im
> Elektronik Bereich.
Nur aus purer Neugier: Hast Du vor, beruflich in Richtung Elektronik zu 
gehen (oder bist gar bereits auf diesem Wege) oder ist es ein Hobby und 
soll es auch bleiben?

von Robert R. (robert_user)


Lesenswert?

M.A. S. schrieb:
> Nur aus purer Neugier

Ich habe vor auch beruflich indie Richtung zu gehen, ich habe aber noch 
keine spezifische Richtung. Anwendungselektroniker fänd ich interessant 
und danach eventuell ein Studium.

von Minus M. (Firma: irre) (minusman)


Lesenswert?

Robert R. schrieb:
> M.A. S. schrieb:
>> Nur aus purer Neugier
>
> Ich habe vor auch beruflich indie Richtung zu gehen, ich habe aber noch
> keine spezifische Richtung. Anwendungselektroniker fänd ich interessant
> und danach eventuell ein Studium.

Wenn da noch nix klar ist, dann würde ich mich nicht auf C beschränken.
Sondern mit C++ anfangen.

Das hat zwei Gründe:
A. Wer C++ lernt, bekommt einen stattlichen C Grundstock sofort mit 
dabei. Umgekehrt ist das nicht so deutlich der Fall.
B. Wer einmal richtig C gelernt hat, ist für die OOP verdorben.

Sowohl mit Atmel Studio, als auch der Arduino IDE, Eclipse und vielen 
weiteren, kann man in ASM, C und C++ arbeiten.

Betrachtet man das "große Ganze", dann hat ASM seine kleine Nische.
C findet sich auf der Grenzschicht zwischen Hardware und Anwendung. z.B. 
die Windows und Linux Kerne/Treiber sind größtenteils C
C++ und die anderen OOP Sprachen haben ihren wichtigsten Platz auf 
Servern und dem Desktop.
Dabei sind sich C und C++ so ähnlich, und so effektiv, dass beide auf µC 
gut einsetzbar sind. Arduino macht es vor.
Am Rande: Die wirklich langsamen Dinger, digitalWrite() und seine 
Kumpels stecken bei Arduino in *.c Dateien.

Mein Rat:
Mit C++ beginnen, hauptsächlich, weil das Umlernen von C++ nach C 
einfacher ist, als von C nach C++. Die prozedurale Denkweise ist schwer 
wieder aus dem Kopf heraus zu bekommen. Und die OOP Denkweise 
beinhaltet, zumindest in den Methoden, die prozeduralen Verfahren.

Leider ist C++ auch wohl eine der schwierigsten Sprachen. Wenn nicht so 
gar die schwierigste/komplizierteste überhaupt.

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


Lesenswert?

Minus M. schrieb:
> Sondern mit C++ anfangen.
> Leider ist C++ auch wohl eine der schwierigsten Sprachen.
Irgendwie echt ungünstig.

> Am Rande: Die wirklich langsamen Dinger, digitalWrite() und seine
> Kumpels stecken bei Arduino in *.c Dateien.
Am Rande: es würde auch nichts ändern, wenn die in *.cpp Dateien stecken 
würden. Der Ansatz eines dynamischen und zur Laufzeit parametrisierbaren 
Pinzugriffs an sich ist halt elend langsam. Egal, ob C oder C++ oder 
ASM.

> C++ und die anderen OOP Sprachen haben ihren wichtigsten Platz auf
> Servern und dem Desktop.
Ähem, 64-Bit-Rechner mit 8 Kernen und GHZ-Takt eben...

Wer C++ auf dem AVR macht, der muss genau wissen, was so ein C++ 
Sprachkonstrukt zur Compilezeit bzw. zur Laufzeit macht. Sonst wird es 
halt einfach ein schlechtes, weil langsames Programm.

von Minus M. (Firma: irre) (minusman)


Lesenswert?

Lothar M. schrieb:
> ......
Sieht aus, als würdest du nahezu vollständig mit dem übereinstimmen, was 
ich sagte.
Ja, C++ ist schon eine Aufgabe!


Lesetipp/Video: "Stop Teaching C"


Die menschliche Seite:
Wenn ein gestandener C Programmierer "gezwungen" wird Objekt orientiert 
zu arbeiten, beginnt erstmal das straucheln. Die Denkweise ist schon 
sehr anders.
Umgekehrt ist es eher nur nervig, eine Umgewöhnung.

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


Lesenswert?

Minus M. schrieb:
> Sieht aus, als würdest du nahezu vollständig mit dem übereinstimmen, was
> ich sagte.
Nur eben nicht mit der Aussage, dass C++ ideal zum Starten auf einem 
mickrigen 16MHz-µC ist.
Denn so einen Rechner knechtet man mit einer einzigen falschen Codezeile 
in die Knie. Und weil C++ noch wesentlich abstrakter als C ist, hat man 
im Handumdrehen eine falsche Codezeile hingeschrieben und macht 
zigtausendmal pro Sekunde Sachen zur Laufzeit, die besser ein einziges 
Mal vom Compiler berechnet worden wären.

Siehe auch https://www.mikrocontroller.net/articles/C_vs_C++

: Bearbeitet durch Moderator
von Minus M. (Firma: irre) (minusman)


Lesenswert?

Wenn es sich um das "Mist bauen" dreht, dann ist C auch ganz weit vorne. 
Viele der Fallstricke sind in C++ nicht mehr nötig.

Zudem, wie sollte man ein Gefühl dafür entwickeln, was in C++, in 
welcher Situation geht, wenn man es nicht übt.
Ausblenden ist da sicherlich nicht hilfreich.

Lothar M. schrieb:
> Nur eben nicht mit der Aussage, dass C++ ideal zum Starten auf einem
> mickrigen 16MHz-µC ist.
Im Moment sieht es so aus, als würden zigtausende von Anfängern genau 
das gerade tun. Tagtäglich.
Die verwenden C++ einfach.
Anfangs, sicherlich ohne drüber nach zu denken.

Lothar M. schrieb:
> C++
Wie ist denn deine Beziehung zu C++?

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

AVR Mikrocontroller werden sowohl in Arduino als auch in anderen IDE 
üblicherweise mit dem avr-gcc Compiler programmiert. Der kann beides, C 
und C++.

von Alexander S. (alesi)


Lesenswert?

Mi N. schrieb:
> Zum Arduino:
> Es ist verlockend, seine Programme als arduinospezifische .INO- Dateien
> zu schreiben. Das ist sicherlich gut, um schnell etwas anzutesten, was
> man so im Netz findet. Damit kann man auch gelegentlichen Frust bei
> eigenen Entwicklungen kompensieren ;-)
>
> Aber ich rate Dir, möglichst gleich mit reiner C-Programmierung ohne
> setup() und loop() anzufangen. Damit hast Du dann uneingeschränkten
> Zugriff auf die gesamte AVR-Peripherie.
> Auch wenn die Arduino-IDE nicht so komfortabel zu bedienen ist, ist sie
> ein einfacher Einstieg mit Bootloader und ser. Monitor für
> Kontroll-/Debugausgaben und damit gut für erste Erfolgserlebnisse.

Hallo Robert,
wie man einen Arduino ohne die Arduino-Umgebung nuzen kann, wird in 
diesem Artikel beschrieben:
https://www.mikrocontroller.net/articles/Umstieg_von_Arduino_auf_AVR
Für den Start sind auch diese AVR-Artikel auf www.mikrocontroller.net zu 
empfehlen:
https://www.mikrocontroller.net/articles/AVR
https://www.mikrocontroller.net/articles/AVR-Tutorial
https://www.mikrocontroller.net/articles/AVR-GCC-Tutorial

: Bearbeitet durch User
von Robert R. (robert_user)


Lesenswert?

Alexander S. schrieb:
> Hallo Robert,
> wie man einen Arduino ohne die Arduino-Umgebung nuzen kann, wird in
> diesem Artikel beschrieben:
> https://www.mikrocontroller.net/articles/Umstieg_von_Arduino_auf_AVR
> Für den Start sind auch diese AVR-Artikel auf www.mikrocontroller.net zu
> empfehlen:
> https://www.mikrocontroller.net/articles/AVR
> https://www.mikrocontroller.net/articles/AVR-Tutorial
> https://www.mikrocontroller.net/articles/AVR-GCC-Tutorial

Vielen lieben Dank!
Ich war gerade dabei mir die neuen Beiträge durchzulesen

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


Lesenswert?

Minus M. schrieb:
> Wie ist denn deine Beziehung zu C++?
Ich kenne es seit der ersten Ausgabe von Bjarne Stroustrups C++ und habe 
mit dem ersten C++ Compiler "Zortech C++" auf dem 80386 angefangen.
Ich verwende auf potenten Prozessoren C++ und auf langsameren uC simples 
C. Die Grenze liegt gefühlt ca. bei 100MHz.

von Jobst M. (jobstens-de)


Lesenswert?

Robert R. schrieb:
> Am liebsten wäre mir tatsächlich auch kein Arduino.
> Sondern ein Board mit einem Atmel Chip drauf, ein Programmer dazu und
> das AVR Studio

Hey, dann mach das doch einfach! :-)

Jobst M. schrieb:
> Du kannst DIL-AVRs auf's Steckbrett drücken oder auf Lochraster löten,
> zwei Kondensatoren dazu - läuft. Du kannst fertige Bastelboards (DAUino
> oder so ...) benutzen und in der heutigen Zeit auch recht einfach und
> günstig eigene Platinen designen und fertigen lassen.

... und auch dabei bekommst Du hier Hilfe.
Was hast Du Dir denn an Funktionalität vorgestellt?

Gruß
Jobst

von Adam P. (adamap)


Angehängte Dateien:

Lesenswert?

Robert R. schrieb:
> Adam P. schrieb:
>> Ich schau mal was ich finde, dann liste ich es dir hier mal auf, ok?
>
> Sehr sehr gerne, vielen Dank!

Nach längerer Suche musste ich leider feststellen, dass es mittlerweile 
kaum noch etwas gibt, was einem "Atmel evaluations-board v2.0.1" ähnelt.

Bei ebay Kleinanzeigen habe ich ein STK500 gefunden.
So wie ich es gesehen habe, hat dieser jedoch kein JTAG Pin-Header, 
stimmt das? Welche Controller das Board unterstützt, weiß ich leider 
spontan nicht.
Klar könnte man da den JTAG direkt an die Port Pins hängen.

Fertige Boards mit fest verbautem Controller finde ich je nach Situation 
ungünstig. Stell dir vor du hast in paar Monaten eine Idee und willst 
was programmieren, jedoch hat dein Controller zu wenig RAM.
Dann wieder ein neues Board zu kaufen? ...blöd.

Aber nun ist es so und 150-200€ für nen Board ausgeben, würde ich jetzt 
auch nicht.
- Entweder du kaufst dir am Anfang das Board, welches du oben erwähnt 
hast.
- Du kaufst dir ein "Mega Pro Mini", der hat einen ATmega2560 drauf

https://www.amazon.de/ARCELI-Arduino-Mega-ATmega2560-CH340G-Elektronik/dp/B07MQ1J9MR/ref=asc_df_B07MQ1J9MR/?tag=googshopde-21&linkCode=df0&hvadid=204476351460&hvpos=&hvnetw=g&hvrand=11501061730475294248&hvpone=&hvptwo=&hvqmt=&hvdev=c&hvdvcmdl=&hvlocint=&hvlocphy=1004061&hvtargid=pla-718074181409&psc=1&th=1&psc=1
- Oder du lötest dir einfach was selber zusammen (siehe Anhang), 
brauchte ich mal für einen Test (Akkuüberwachung). Verbaut hatte ich 
einen ATmega1284P, völlig überdimmensioniert aber war vorhanden.

Bei JTAG (ISP) Programmierern würde ich mir einen von Atmel kaufen, klar 
kostet der etwas mehr, aber dann hast du ruhe.
Die von Olimex unterstützen wohl nur eine gewisse Anzahl an AVR 
Controllern.

Etwas älter:
https://www.ebay-kleinanzeigen.de/s-anzeige/atmos-atmel-avr-jtagice-mkii-debugger-programmer-microcontroller/2006836431-168-8960

https://www.ebay-kleinanzeigen.de/s-anzeige/atmel-jtagice3-debugger-zu-verkaufen-in-duesseltal-/2006259414-226-2098

Neuste Version und kann für die Zukunft auch die SAM Controller (ARM):
https://www.ebay-kleinanzeigen.de/s-anzeige/atmel-ice-programmierer-debugger/1973864009-226-8844

: Bearbeitet durch User
von Klaus W. (mfgkw)


Lesenswert?

Muß es denn zum Einstieg etwas kompliziertes ein?
Ich hatte mit AVR angefangen mit besagtem frei verdrahteten Programmer 
(heute würde ich dafür einen AVRISP mkII nehmen wahrscheinlich) und 
Lochrasterplatinen.

Da muß man zum ersten Blinken sowenig verdrahten, daß es einfacher ist 
als etwas vorgekautes zu verstehen.

Noch simpler als Lochraster ist ein Steckbrett.
Anleitung ist doch hier irgendwo als Artikel?

Deshalb meine Empfehlung: irgendein AVR mit Beinchen, 
AVRISP-Programmierer, Steckbrett, ein paar Widerstände, LED, Drähte, 
Labornetzteil oder Akku und Spannungsregler und ein paar Stunden Zeit.
Dann hat man viel mehr Verständnisgewinn als mit jedem fertigen Board.

Wenn einem das zu langweilig wird, hat man eher eine Vorstellung was man 
danach braucht.

Ich hatte wie gesagt so etwa angefangen, und das obwohl ich damals schon 
ein STK500 daneben liegen hatte, das ich bis heute nicht benutzt habe 
(sogar mit zusätzlichem STK501, um LQFP64 ohne Löten nehmen zu können), 
und JTAG-ICE, auch bis heute unbenutzt.

Falls jemand löten will: hier liegen auch noch von Pollin 3 Bausätze 
AVR-Net-IO. Da ist jeweils ein atmega32 drin, das Netzzeug kann man ja 
am Anfang ignorieren.
Muß man aber erst noch zusammenlöten.

Wie gesagt: für meinen Geschmack alles viel zu viel für den Anfang. 
Stumpf ist Trumpf in diesem Fall.

Adam P. schrieb:
> Ich wollte dir grad das "ATMEL Evaluations-Board von Pollin" empfehlen,
> aber das gibt es nicht mehr und meins brauch ich ab und zu doch mal.

Habe noch eines hier zum selbst zusammen löten, unbenutzt, noch in 
Einzelteilen.

: Bearbeitet durch User
von Adam P. (adamap)


Lesenswert?

Klaus W. schrieb:
> Adam P. schrieb:
>> Ich wollte dir grad das "ATMEL Evaluations-Board von Pollin" empfehlen,
>> aber das gibt es nicht mehr und meins brauch ich ab und zu doch mal.
>
> Habe noch eines hier zum selbst zusammen löten, unbenutzt, noch in
> Einzelteilen.

Ja das wäre doch perfekt.

Das Board + ein Atmel-ICE oder mk2 oder JTAGICE3, fertig.

von Adam P. (adamap)


Angehängte Dateien:

Lesenswert?

Klaus W. schrieb:
> Habe noch eines hier zum selbst zusammen löten, unbenutzt, noch in
> Einzelteilen.

Wenn er es eh noch zusammenlöten muss, dann könnte er direkt den RS232 
Anschluss durch USB ersetzen, dann brauch er keinen externen FTDI 
Adapter und hat auch direkt die Spannungsversorgung (bis zu einer 
gewissen Grenze).
Nur so als Idee.

von Yalu X. (yalu) (Moderator)


Lesenswert?

Auch wenn ich überhaupt kein Freund der Arduino-IDE bin, finde ich die
Arduino-Hardware sehr gut, und das nicht nur für den Einstieg. Wenn ich
eine eigene Experimentierplatine mit dem AVR bauen würde, kämen folgende
Komponenten darauf:

- AVR (irgendein ATmega)
- UART-USB-Konverter (um mit dem PC kommunizieren zu können)
- Quarz (damit die Baudrate für den UART-USB-Konverter stabil ist)
- evtl. noch einen Spannungsregler

Genau diese Komponenten hat auch ein Arduino Nano. Warum also selber
bauen mit dem Risiko, dass nachher irgendetwas nicht funktioniert und
man nicht weiß, ob es an der Hardware, an der Softwareinstallation oder
an den (noch) unzureichenden Programmierkünsten liegt?

Für erste Tests kann man durchaus auch die Arduino-IDE installieren und
hat damit innerhalb von Minuten das erste Blink-Programm am Laufen:

- Arduino-Software installieren
- Arduino-Board per USB-Kabel mit dem PC verbinden
- Aus dem Examples-Menü das Beispiel Blink auswählen
- Upload-Button klicken (der Compiler/Linker wird dabei automatisch
  aufgerufen)
- zuschauen, wie die LED blinkt

Wenn man später mit anderen AVRs arbeiten will (auf dem Steckbrett oder
einer selber gebastelten Platine) kann man das Arduino-Board mit der
entsprechenden Software als ISP-Programmer nutzen. Diese Software ist
ebenfalls im Examples-Menü der Arduino-IDE enthalten.

von Georg M. (g_m)


Angehängte Dateien:

Lesenswert?

Die neueren AVR haben viele verbesserte Funktionen. Sogar der 
Analogkomparator wurde verbessert.

von Stefan F. (Gast)


Lesenswert?

Adam P. schrieb:
> Nach längerer Suche musste ich leider feststellen, dass es mittlerweile
> kaum noch etwas gibt, was einem "Atmel evaluations-board v2.0.1" ähnelt.

Weil sich das Ganze viel in Richtung der Arduino Boards und Steckbretter 
verschoben hat. Ich benutze fast nur noch Arduino Module - aber ohne 
deren IDE und Framework.

Robert: Schau mal bei Olimex.

von Roland F. (rhf)


Lesenswert?

Hallo,
Yalu X. schrieb:
> Wenn ich eine eigene Experimentierplatine mit dem AVR bauen würde,
> kämen folgende Komponenten darauf:
>
> - AVR (irgendein ATmega)
> - UART-USB-Konverter (um mit dem PC kommunizieren zu können)
> - Quarz (damit die Baudrate für den UART-USB-Konverter stabil ist)
> - evtl. noch einen Spannungsregler
>
> Genau diese Komponenten hat auch ein Arduino Nano.

Man sich aber auch ein Steckbrett einschließlich einem Sortiment 
Steckbrücken kaufen (braucht man nachher sowieso), einen 
ATmega<irgendwas>(1) im DIP-Gehäuse, dazu den passenden Baudratenquarz 
nebst den nötigen Kondensatoren, noch ein paar 100nF-Kondensatoren und 
1- und 10KOhm-Widerständen, sowie 3-4 LEDs. Dann fehlt eigentlich nur 
noch ISP-Programmer. Zur Versorgung dient dann ein sowie so überall 
herumliegendes USB-Steckernetzteil.(2)

Damit kann man sich für ein paar Euro in wenigen Minuten ein voll 
funktionierendes "Entwicklungssystem" zusammenstecken.
Im Gegensatz zum Arduino-Board hat man dann auch mal Kontakt zur 
Hardware und kann sich damit beschäftigen, als in Internet-Diskussionen 
langatmige Beiträge zu lesen, warum es unbedingt nötig ist eine der 
kompliziertesten Programmiersprachen überhaupt direkt am Anfang zu 
nutzen.

Georg M. schrieb:
> Die neueren AVR haben viele verbesserte Funktionen. Sogar der
> Analogkomparator wurde verbessert.

Stimmt, ist aber für den blutigen Anfänger nicht wichtig.

rhf

(1)
Wenn auch völlig veraltet bietet sich hier ein ATmega8 an, da genau der 
in unzähligen Anleitungen verwendet wird und man damit die angegebenen 
Quellcode-Beispiele direkt verwenden kann.

(2)
@Robert: Falls dich das interessieren sollte, kannst du dich gerne an 
mich wenden.

von Stefan F. (Gast)


Lesenswert?

Hier ist mein Mini-Tutorial für den Einstieg ohne Arduino:
http://stefanfrings.de/avr_hello_world/index.html

von Roland F. (rhf)


Lesenswert?

Hallo,
Stefan ⛄ F. schrieb:
> Hier ist mein Mini-Tutorial für den Einstieg ohne Arduino:
> http://stefanfrings.de/avr_hello_world/index.html

Und genau so sollte man auch anfangen.

rhf

von Robert R. (robert_user)


Lesenswert?

Stefan ⛄ F. schrieb:
> Hier ist mein Mini-Tutorial für den Einstieg ohne Arduino:
> http://stefanfrings.de/avr_hello_world/index.html

Vielen lieben Dank an alle die sich an diesem sehr lehrreichen Beitrag 
beteiligt haben!
Ich habe vieles neues dazugelernt und durch die verschiedenen Meinungen 
und Debatten einen Eindruck bekommen wie komplex und gleichzeitig 
interessant die Mikrocontroller Programmierung sein kann.

Ab und an dachte ich mir, muss diese Diskussion jetzt sein aber 
letztenendes hat mir genau das den Horizont erweitert!

@Stefan ⛄ F. , so werde ich auch anfangen "from scratch" . Diese Methode 
gefällt mir sehr, da ich so nah wie möglich an der Materie sein möchte.
Linux bzw Ubuntu nutze ich auch privat, daher finde ich die Konsole 
nicht befremdlich.

Nochmals besten Dank an alle!
Wir werden uns hier bestimmt demnächst öfters begegnen wenn ich wieder 
einen Rat brauche :)

: Bearbeitet durch User
von Adam P. (adamap)


Lesenswert?

Robert R. schrieb:
> @Stefan ⛄ F. , so werde ich auch anfangen "from scratch" .

So kann man es auch machen :)
Viel Spaß.

Beachte jedoch:
Bei diesen Steckbrettern (je nach Qualität) kann es dazu kommen,
dass dein Bauteil oder Leitung zwar drin steckt, aber eine schlechte 
Verbindung vorhanden ist (evtl. Fehlverhalten der Schaltung).

von Max M. (Gast)


Lesenswert?

Robert R. schrieb:
> so werde ich auch anfangen "from scratch"

Nichts gegen zu sagen.
Aber wenn Du das erst geschaft hast wirst Du wahrscheinlich die Arduinos 
zu schätzen lernen wo alles das was Du mühseelig auf Steckbrett machst 
schon drauf ist.

Du hast es Dir dann beweisen das Du es verstanden hast.
Ich habe noch mit 8085, Adresslatch, Sram, Eprom und allem anderem 
angefangen.
Auf Lochraster weil Steckbrett extrem fehleranfällg war.
Der 8031 war da schon eine echte Verbesserung.
Der 8751 schon heutigen flash MCUs ähnlicher.
Der AVR war nochmal geiler, dann kamen die (ds)PICs, der STM8, STM32 ...

Mach nur nicht den Fehler und beiß Dich dauerhaft an einem Typen fest.
Es gibt so viele geile MCUs die alle nicht schwerer zu lernen sind und 
jeder kann irgendwas besonders gut.
Und bare metall ist super um das zu lernen, aber später kannst Du auch 
ruhig den Kompfort nutzen und Dich mehr auf das zu lösende Problem 
konzentrieren als nur auf die möglichst pure Art alles selbst zu machen.

Verwende nicht nur stumpf irgendwelche Libs.
Was die wirklich tun ist oft brutal einfach aber sie tun es auf eine 
komplizierte Art und unterstützen oft nicht alles was die MCZ HW könnte.
Zwei register direkt zu laden ist oft der viel einfachere und schnellere 
Weg.
Aber auch nicht LIBs aus Prinzip ablehnen wenn sie Dein Problem einfach 
lösen.
Locker und flexibel bleiben ;-)

Ebenso ASM / C.
Gut ASM einwenig zu können, aber auch geren als Inline Code in C, wenn 
man muss. Und C findet Du auf jeder MCU.
Kannst Du eine kannst Du alle, mit ein wenig Einarbeitung und dem DB im 
Anschlag.

von Wilhelm S. (wilhelmdk4tj)


Lesenswert?

Hallo zusammen,

für blutige Anfänger möchte ich noch einen ganz anderen Aspekt 
anbringen, der m.E. eigentlich nie beachtet wird: die PIN Zahl des 
verwendeten Objekts der Begierde.
In einem Nebenthread kämpft gerade ein Anfänger mit einem 40-Piner.
Es muss nicht gerade ein TINY-13 sein sein, aber mit einem TINY-85 und 
seinen 8K kann man schon eine ganze Menge machen. Dazu vielleicht noch 
ein I2C-Display. Wenn dann der einfache Timer oder die PIN-Zahl nicht 
mehr reichen, tut es ein TINY-84 mit 14 Pins vllt. auch, und wenn das 
dann immer noch nicht reicht, tut es dann ein TINY-861 mit 20 Pins.
So etwas auf dem Steckbrett fehlerfrei zusammenzustecken, ist schon 
ziemlich mühsam, geschweige denn mit 28 oder gar 40 Pins -> 
Fehlermöglichkeiten ohne Ende.

73
Wilhelm

von Stefan F. (Gast)


Lesenswert?

Ich mag den ATtiny13 auch, aber ich würde nicht zustimmen, dass viele 
Pins für den Anfang hinderlich seien. Sie müssen nur gut zugänglich 
sein. Einen 40 Pinner ATmega1284 im DIP Format kriegt man genau so 
einfach ans Laufen, wie einen 8 Pinner ATtiny13 im DIP Format.

Wenn ich sehe, was für Klimmzüge manche Leute machen, um bloß nicht den 
nächst größeren Chip verwenden zu müssen, kann ich nur den Kopf 
schütteln.

Für mich sind die Arduino Nano Boards eine sehr handliche mittlere 
Größe. Wenn ich es kleiner brauche, nehme ich ATtiny Chips. Wenn ich 
mehr Pins brauche, nehme ich ein Crumb644 Modul. Wenn ich mehr Leistung 
brauche, nehme ich ein STM32 Board in ähnlichem Format. Und wenn ich 
noch mehr Pins brauche - auch dafür gibt es preisgünstige Module.

von Wilhelm S. (wilhelmdk4tj)


Lesenswert?

Hallo zusammen, hallo Stefan.

> Wenn ich sehe, was für Klimmzüge manche Leute machen, um bloß nicht den
> nächst größeren Chip verwenden zu müssen, kann ich nur den Kopf
> schütteln.

Da hast du vollkommen Recht. Das war aber nicht meine Intention.
Wenn ich noch keine Ahnung habe, ist doch ein 'Viel-Beiner' wesentlich 
abschreckender als ein 8-Beiner. Das Lesen des Datenblatts wird ja hier 
in diesem Forum immer wärmstens (mit erhobenem Zeigefinger!) empfohlen, 
aber wenn ich (noch) keine Ahnung von Nichts habe, bringt es mich nicht 
weiter; denn ich verstehe (noch) nicht, was da so alles drin steht. Die 
vielfältigsten Möglichkeiten des entspr. Chips weiss ich (noch) nicht zu 
beurteilen.
Wenn man vom 8-Beiner VCC, VDD und den Reset-Pin abzieht, bleiben noch 5 
Pins übrig. Überschaubar oder..? Und wenn man es geschafft hat, die 
obligatorische LED zum Blinken zu bringen, lehnt man sich erstmal mit 
stolzgeschwellter Brust zurück, und denkt wunders, was man vollbracht 
hat.
So haben wir doch alle angefangen, oder..?

73
Wilhelm

von Stefan F. (Gast)


Lesenswert?

Wilhelm S. schrieb:
> Wenn ich noch keine Ahnung habe, ist doch ein 'Viel-Beiner'
> wesentlich abschreckender als ein 8-Beiner.

> So haben wir doch alle angefangen, oder..?

Ja. Ich habe mit dem ATtiny13 angefangen, weil er mir (wie du schon 
sagst) sympathischer war. Aber ich weiß jetzt, dass das Qautsch war. 
Denn um unbenutzte Pins brauche ich nicht zu sorgen.

Vorteilhaft war an dem kleinen Ding nur der geringe Preis, da gab es 
nicht viel kaputt zu machen. Nur ist der Preisunterschied zum nächst 
größeren Modell verschwinden gering. Insofern habe ich mir die 
Entscheidung mehr schön geredet, als ehrlich zu sein.

von Wilhelm S. (wilhelmdk4tj)


Lesenswert?

Hallo Stefan,

auch das ist richtig.
Aber sind 8 Beine nicht wesentlich übersichtlicher als 28 oder 40?
Alles subjektiv.

73
Wilhelm

von Minus M. (Firma: irre) (minusman)


Lesenswert?

Wilhelm S. schrieb:
> Aber sind 8 Beine nicht wesentlich übersichtlicher als 28 oder 40?

Ach, meist sind sie doch sorgfältig in ordentlichen Reihen angeordnet 
und gut dokumentiert.
Ist schon schwer, sich da zu verirren, würde ich mal sagen.

Wenn in dem Punkt schon die Überforderung auftritt, oha....

von Stefan F. (Gast)


Lesenswert?

Wilhelm S. schrieb:
> Aber sind 8 Beine nicht wesentlich übersichtlicher als 28 oder 40?

Wenn ich einige davon schon für den Programmieradapter reserviere, weil 
ich als Anfänger noch nicht weiß wie man sie doppelt belegt, dann sind 
die zwei verbleibenden freien I/O Pins eher hinderlich als 
übersichtlich.

von Martin V. (oldmax)


Lesenswert?

Hi
Wilhelm S. schrieb:
> Wenn ich noch keine Ahnung habe, ist doch ein 'Viel-Beiner' wesentlich
> abschreckender als ein 8-Beiner. Das Lesen des Datenblatts wird ja hier
> in diesem Forum immer wärmstens (mit erhobenem Zeigefinger!) empfohlen,
> aber wenn ich (noch) keine Ahnung von Nichts habe, bringt es mich nicht
> weiter; denn ich verstehe (noch) nicht, was da so alles drin steht. Die
> vielfältigsten Möglichkeiten des entspr. Chips weiss ich (noch) nicht zu
> beurteilen.
> Wenn man vom 8-Beiner VCC, VDD und den Reset-Pin abzieht, bleiben noch 5
> Pins übrig. Überschaubar oder..? Und wenn man es geschafft hat, die
> obligatorische LED zum Blinken zu bringen, lehnt man sich erstmal mit
> stolzgeschwellter Brust zurück, und denkt wunders, was man vollbracht
> hat.
> So haben wir doch alle angefangen, oder..?

Nun, ein Achtbeiner ist nicht automatisch selbsterklärend, sondern auch 
hier ist ein Datenblatt das A und O. Ob dann mehr Beinchen am Controller 
sind, spielt erst mal keine Rolle. Bei den ATinys und AtMegas ist im 
Datenblatt sehr gut dokumentiert, wie die IO Ebene zu händeln ist. Ich 
würde einen Mega8 empfehlen, nicht zu groß, aber groß genug, um auch mal 
Anzeigen mit Multiplex zu realisieren. Auch wenn,s kalter Kaffee ist, 
eine Uhr ist schon mal ein kleines Projekt, oder eine Ampelanlage für 
den Modellbau. Später, wenn du deine Erfahrungen gesammelt hast, ist der 
Einsatz eines Tiny kein Problem. Bedenke, zwei Pins sind schon für die 
Versorgung erforderlich, da bleibt für Peripherie nicht viel über.
In dem von mir gezeigten Buch habe ich versucht, schrittweise mit 
kleinen Experimenten die Fähigkeiten der Controller zu entdecken. Das 
mit ASM gearbeitet wurde, sollte kein Hindernis sein, denn die Schritte 
sind ausführlich erklärt. Mit ein wenig Kopfarbeit also auch auf C 
umzuschreiben.
Falls da Fragen sind, gern auch per PN
Gruß oldmax

von Wilhelm S. (wilhelmdk4tj)


Lesenswert?

Hört auf Jungs, es reicht.
Alles richtig, aber das ist nicht das, was ich zum Ausdruck bringen 
wollte.
Ihr habt auch alle eure ersten Stunden nach der Fahrprüfung auf einem 
Ferrari gehabt...? Vom hohen Ross sind Sprüche einfach, da muss man aber 
erstmal drauf kommen.

73
Wilhelm

von Max M. (Gast)


Lesenswert?

Wilhelm S. schrieb:
> Ihr habt auch alle eure ersten Stunden nach der Fahrprüfung auf einem
> Ferrari gehabt

Deine Meinung das es um so einfacher wird je weniger Pins der hat ist 
eben einfach nicht richtig.
Nirgendwo ist das Gewurste größer als wenn man sich den ISP mit dringend 
benötigten Pins teilen muss, der Speicher zu klein ist, HW nicht 
verfügbar oder man elendig abwägen muss was man benutzt und was dafür 
eben unbenutzbar ist oder man bereits bei den ersten Versuchen mit IO 
Expandern loslegen muss.
Oder die Blinky Led bekommt man nocoh hin, aber das naächste Projekt ist 
das wieder ein anderere, weil der 8beiner einfach zu beschränkend ist.

Gleich mit einer ordentlich ausgestatteten MCU beginnen.
Dein Ferrari Vergleich ist auch falsch.
Der Ferrarie ist die Karre die zu klein ist um da ohne Zerrung 
reinzukommen und so auf einen Spezialfall ausgelegt, das es für um den 
Block cruisen oder den Wocheneinkauf zu erledigen einfach nicht langt.

Deswegen lernt man in der Golf Klasse und weder auf dem Smart noch auf 
dem Ferrari.
0815 Teile die jeder kennt, jeder zweite hat und bei denen einem auch 
viele Helfen können, sind am besten geeignet.
Ergo: Arduino

Beitrag #6992311 wurde von einem Moderator gelöscht.
von Minus M. (Firma: irre) (minusman)


Lesenswert?

Wilhelm S. schrieb:
> Ihr habt auch alle eure ersten Stunden nach der Fahrprüfung auf einem
> Ferrari gehabt...?

Hier muss ich gestehen, dass mit mein erstes System an/mit ich nach der 
Ausbildung ersthaft arbeiten musste/durfte eine MV 7800 von DataGeneral 
war.
Zur damaligen Zeit, war das ein ordentlicher Brummer!
Für den allerwelts PC-XT Besitzer, war das doch wohl in der "Ferrari 
Kategorie" und auch wohl nicht viel billiger als ein Ferrari in der 
Zeit.

von M.A. S. (mse2)


Lesenswert?

[Edit Mod: total passend zum Thema mal wieder Corona ... daher 
entsprechende Antwortpassagen gelöscht]

Wilhelm S. schrieb:
> Ihr habt auch alle eure ersten Stunden nach der Fahrprüfung auf einem
> Ferrari gehabt...?
Ich verstehe zwar Deinen Grundgedanken, muss aber denen recht geben, die 
schreiben 'mehr Pins heißt nicht automatisch komplizierter'.
Wenn man die vielen Pins alle nicht benutzen muss und die nicht 
benötigten Hardwarekomponenten nicht initialisieren muss, dann entsteht 
keine größere Komplexität.

Mein erstes Mikroprozessorsystem(-chen) war eine Schaltung mit Z80 und 
Minimalspeicher daran auf einem Steckbrett. Im Vergleich dazu ist ein 
40-pinniger AVR völlig harmlos, wenn man z.B. nur eine LED damit blinken 
lassen will.

: Bearbeitet durch Moderator
Beitrag #6992382 wurde von einem Moderator gelöscht.
von Max M. (Gast)


Lesenswert?

Okay, Corona und Masken haben wir jetzt schon im AVR Thread.
Wollen wir noch Ukraine dazunehmen damit hier endlich dichtgemacht wird? 
;-)

[Edit Mod: nee, wieder aufs Thema konzentrieren oder einfach mal gar 
nichts schreiben ;-)]

: Bearbeitet durch Moderator
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.