Buchempfehlung gesucht

Hallo,

zum Arduino gibt es ja unzählige Literatur.
Was mich speziell interessieren würde wäre ein Buch nicht a la Cookbook und diverse andere wo meist immer die selben oder ähnliche Schaltungen abgebildet und der Sketch dazu beschrieben wird, sondern Literatur wo es mehr ins Eingemachte geht.
Also nicht das Programmieren mittels Bibliotheken die einem alles abnehmen, sondern grob gesagt das direkte Auslesen der Register.
Mein Englisch ist im Grunde ganz gut - allerdings würde ich Deutsch bevorzugen, falls vorhanden.

Danke
Andreas

AVR-GCC oder doch Arduino bezogen?

Für die Programmierung der Controller der Arduinos wird es wenig Literatur geben.
Einzige Referenz die Datenblätter von Atmel bezüglich der verschiedenen verwendeten Controller. Einen Link dazu findest Du in der Beschreibung der einzelnen Arduino-Modellen. Arduino - Home
Grüß Uwe

das direkte Auslesen der Register.

... ist wohl avr-gcc spezifisch.

http://de.wikibooks.org/wiki/C-Programmierung_mit_AVR-GCC

Eigenwerbung:

Es handelt sich hier um den Versuch, das AVR-GCC-Tutorial von www.mikrocontroller.net als Buch umzuschreiben.

(Deutsch !)

Setzt wohl einigermassen C - Kenntnisse voraus, was auch vernünftig ist. Dafür gibt es übrigens auch massig Literatur.

Und, wie Uwe schon erwähnt hat, die Referenz-Bibeln sind die Atmel Datenblätter.

Hallo,
das mit den Büchern für den Arduino ist so eine Sache…
"direkte Auslesen der Register"
Ist mit dem Arduino nicht vorgesehen- dafür gibt es ja die Lib´s.
Wenn Du die Register direkt bearbeiten willst, dann sind die Datenblätter
von ATmel die erste Wahl. Dann mußt Du ziemlich fit in C sein.
Das muß alles noch kein Problem sein.
Das Problem ist es, das der IDE beizubringen.
Ein Buch das ins Eingemachte geht ist z.B.

Powerprojekte mit Arduino und C (978-3-645-65131-8)

Das wenigste aus diesem Buch kannst Du in die IDE übernehmen, aber es geht
richtig ins Eingemachte. Geht richtig an die Hardware.
Das "Prinzip Arduino" ist aber völlig verfehlt.
Gruß und Spaß
Andreas

Das C Buch habe ich. Wenn du das nutzt, kannst dich am besten von der Arduino IDE verabschieden :wink:

Hallo,

die IDE stellt aber nicht das Problem dafür dar. Darunter steckt doch auch der avr Compiler. Die IDE unterscheidet sich nur von anderen Entwicklungsumgebungen darin, dass in ihr Arduino spezifische "Befehle" vorhanden sind um einfacher alltägliche Dinge zu programmieren. Was man sonst immer zu Fuß mit mehr Codezeilen schreiben müßte.

Doc_Arduino:
Die IDE unterscheidet sich nur von anderen Entwicklungsumgebungen darin, dass in ihr Arduino spezifische "Befehle" vorhanden sind um einfacher alltägliche Dinge zu programmieren.

Das hat nichts mit der IDE zu tun. Die Arduino API sind ganz normale Libs. Die stehen auch in anderen IDEs zur Verfügung wenn sie eingebunden werden. Ich verwende z.B. Visual Studio Pro 2010 + Visual Micro. Damit geht alles was auch in der Arduino IDE geht.

Von der Arduino IDE sollte man sich eher wegen der extrem eingeschränkten Funktionalität verabschieden.

Ich meinte mit meinem Beitrag eigentlich, dass wenn man sich näher an die Hardware traut, man dann auch direkt auf die "Syntax" von Arduino verzichten kann.

Wer einmal im Kopf hat, wie das direkt lesen/schreiben von Ports geht, wird feststellen, dass es garnicht so schwierig ist und in manchen Fällen wirklich sogar einfacher.

Derzeit nutze ich aber ausschließlich Atmel Studio ohne Visual Micro Plugin. Für kurze Test, mit Hardware, die ich noch nicht kompatibel gemacht habe, nutzte ich weiterhin die IDE.

Würde gerne mit den AVRs direkt nach Visual Studio 2013 Pro umsteigen, leider habe ich da noch keine komfortable Möglichkeit für die Upload via ISP gefunden. In Atmel Studio reicht mir F5 für den Upload, nach dem ich das einmal eingestellt hab.

Arduino verwendet den AVR-GCC-Compiler von Atmel
Darum kannst Du im IDE aller Register des Controllers direkt mit ihrem Namen ansprechen bzw Assemblerkode einfügen.
Es gibt Beispiele wo das mit Arduino auch gemacht wird und auch erklährt wird wie zB bei Direct Port Manipulation, Sketch für Eine Lichtschranke mit eine IR Fernsteuerungsempfänger, Secret Voltmeter und Secret Termometer ecc.

Aber vergeßt nicht, daß Arduino Leute als Zielgruppe hat, die weder großartige Programmier- noch Elektronikkenntnisse haben und unter uns gesprochen wieviele von Euch hätten Arduino nicht gleich wieder weggelegt, wenn sie zuerst mal eine Woche lernen hätten müssen, wie man überhaupt einen Skech kompiliert und wie man ihn hochlädt.

Grüße Uwe

uwefed:
Aber vergeßt nicht, daß Arduino Leute als Zielgruppe hat, die weder großartige Programmier- noch Elektronikkenntnisse haben und unter uns gesprochen wieviele von Euch hätten Arduino nicht gleich wieder weggelegt, wenn sie zuerst mal eine Woche lernen hätten müssen, wie man überhaupt einen Skech kompiliert und wie man ihn hochlädt.

Meckern doch garnicht über den Arduino und deren IDE! Ich bin vor gut 1 Jahr überhaupt erst in die Welt der MCUs eingetaucht. Das größte Problem vorher war einfach, dass passende Board zu finden. Meist waren die gefunden Board (war 1 oder 2 Jahre zuvor) selbst bei Pollin zu teuer oder einfach zu klobbig. Bin dann schnell wieder von abgekommen und habe mir nichts geholt.
Danach habe ich dann doch ein Projekt starten wollen, was einen MCU benötigt und das umbedingt gemacht werden sollte. Bin da auf Rasp und Arduino gestoßen. Hab den Arduino gewählt. Wobei, dafür das ich das Projekt umbedingt machen wollte, ist es fast schon beschämend, dass ich das nie zu Ende geführt hab :D. Es ging um Bewässerungsanlage für Karnivoren mit Feuchtigkeitsmessung, Nebler und Leds. Bis zu den Leds (TLC5916 Shiftregister) und Nebleransteuerung über Mosfet bin ich gekommen. Hat dann aber keine Lust, da ich keine Niedervoltpumpe im DC Bereich mit sehr geringer Förderung gefunden habe.
Dem Arduino werde ich treu bleiben. Nur hege ich einen Groll gehen das Design und den Aufbau der IDE. C/C++ Basics in den Praktikas haben gezeigt, dass IDEs wie Visual Studio doch einige Features mehr bieten für mich. Aner ich denke, ich habe genügend orginal Boards daheim, um zu sagen, ich hab der Weiterentwicklung dieser Idee/Projekts (-> Arduino) gut geholfen :sweat_smile:
Zielgruppe, wie du sie beschrieben hast, stimmt nicht ganz, bzw. darf gerne erweitert werden.

  • Leute mit weder großartigen Programmier- noch Elektrokenntissen
  • Gelegenheitsbastlern
  • und den Leuten, die bestimmte Sachen einfach mal schnell Testen wollen!

michael_x:
C-Programmierung mit AVR-GCC – Wikibooks, Sammlung freier Lehr-, Sach- und Fachbücher
Eigenwerbung:
Es handelt sich hier um den Versuch, das AVR-GCC-Tutorial von www.mikrocontroller.net als Buch umzuschreiben.
(Deutsch !)

Michael, kümmerst du dich etwa um das Projekt dort? Kann dir zur Hilfe kommen. Könnte den Teil mit dem Display übernehmen.

Zielgruppe, wie du sie beschrieben hast, stimmt nicht ganz, bzw. darf gerne erweitert werden.

  • Leute mit weder großartigen Programmier- noch Elektrokenntissen
  • Gelegenheitsbastlern
  • und den Leuten, die bestimmte Sachen einfach mal schnell Testen wollen!

Angefangen hat's mit der ersten Gruppe und dann haben die anderen 2 Gruppen Arduino entdeckt und der Erfolg besiegelt.
Grüße Uwe

sschultewolter:
Dem Arduino werde ich treu bleiben. Nur hege ich einen Groll gehen das Design und den Aufbau der IDE. C/C++ Basics in den Praktikas haben gezeigt, dass IDEs wie Visual Studio doch einige Features mehr bieten für mich.

Geht mir genauso. Man spart einfach unheimlich viel Zeit da das Programmieren wesentlich schneller geht und alles übersichtlicher ist. Das ist nicht nur durch große Features so, sondern schon dadurch dass man manche Syntax-Fehler gleich beim Eintippen sieht und nicht erst beim kompilieren.

Naja, große Features müssen es auch nichts sein! Das meist genutzte "Feature" ist in Atmel Studio die F5 und/oder F7 Taste. Mit F5 wird mein Code direkt kompiliert und hochgeladen, nach dem bei jedem Projekt einmalig der MCU, ISP-Clock und die Fuse-Bits gesetzt wurden. Beim der Arduino IDE muss ich mich immer mit dem Affengriff (STRG+Umschalt+U) begnügen.

Das kapseln auch eine gern genutzte Möglichkeit, sich entsprechend den Text etwas zu verkürzen. Meist macht es nicht Sinn, jede Kleinigkeit in eine eigene Header und C-File auszulagern, vorallem nicht wenn es sich um zusammenhängenge Teile handelt

uwefed:

Zielgruppe, wie du sie beschrieben hast, stimmt nicht ganz, bzw. darf gerne erweitert werden.

  • Leute mit weder großartigen Programmier- noch Elektrokenntissen
  • Gelegenheitsbastlern
  • und den Leuten, die bestimmte Sachen einfach mal schnell Testen wollen!

Angefangen hat's mit der ersten Gruppe und dann haben die anderen 2 Gruppen Arduino entdeckt und der Erfolg besiegelt.
Grüße Uwe

Besser hätte man es nicht beschreiben können.

@stefan:

sschultewolter:

michael_x:
C-Programmierung mit AVR-GCC – Wikibooks, Sammlung freier Lehr-, Sach- und Fachbücher
Eigenwerbung:
Es handelt sich hier um den Versuch, das AVR-GCC-Tutorial von www.mikrocontroller.net als Buch umzuschreiben.
(Deutsch !)

Michael, kümmerst du dich etwa um das Projekt dort? Kann dir zur Hilfe kommen. Könnte den Teil mit dem Display übernehmen.

Ne, war mir nur beim googeln untergekommen.
Kannst natürlich gerne dort mithelfen, von mir aus :wink:

Was der Vorteil eines Buchs gegenüber einer Liste von Links, einer guten Suchmaschine und online-Information ist,
wird mir im Lauf der Zeit immer unklarer.

Hallo,
MedienLümmel :*
Buch kann ich mit in die Badewanne nehmen- Schlepptop mit IP65 haben die wenigsten. :wink:
Gruß und Spaß
Andreas

SkobyMobil:
Hallo,
MedienLümmel :*
Buch kann ich mit in die Badewanne nehmen- Schlepptop mit IP65 haben die wenigsten. :wink:
Gruß und Spaß
Andreas

Vergess nicht den Akku vom Buch! Der halt ewig! Ich hab hier Bücher rumstehen, die laufen seit 20 Jahren, und alle Daten sind noch drauf und lesbar :stuck_out_tongue_closed_eyes:

Hallo,

etwas offtopic.

Habe ja Atmel STudio schon länger installiert mit dem Plugin. Nutze ich nur nie, weil mir die Bedienung zu kompliziert ist. Jetzt wollte ich mal wissen wofür man oben "Release" und "Debug" umstellen kann? Und was man konkret einstellen/machen muß um einen Sketch ganz normal auf den Arduino zuladen. Bisher ging das erst nach mehreren Versuchen. Hab wohl immer Glück gehabt.