Forum: Compiler & IDEs C gezielt für AVR lernen - Einsteigerkurs gesucht


von C-Beginner (Gast)


Lesenswert?

Hallo
ich habe schon einige einfache Programme in (mit ?) Bascom geschrieben, 
und kenne mich mit der Hardwareseite der AVR's recht gut aus, auch mit 
den Begriffen Register Variablen usw. und den lesen der AVR Datenblätter 
bin ich vertraut.
Diese Grundlagen habe ich mir mit den wirklich guten "AVR 
Mikrocontroller Lehrbuch" der Homepage von Gerold http://halvar.at/ und 
einigen anderen Seiten beigebracht und natürlich durch Beispiele von 
fertigen Anwendungen / Programmen.

Nun möchte ich aber doch gerne in C Programmieren lernen (die AVR 
Controller ), habe aber noch "Null Ahnung" bezüglich der 
Programmiersprache C.

Ich habe mir natürlich das GCC Tutorial angesehen, wirklich gut 
vertändlich, aber wie dort beschrieben werden C Kenntnisse 
vorausgesetzt.
Diese versuche ich mir mit den C-Kurs 
http://www.peacesoftware.de/ckurs.html beizubringen. Eigentlich nicht 
besonders schwer zu verstehen und auch anschaulich und gut verständlich 
beschrieben, aber halt auf dem Computer bezogen (wie alle C-Kurse die 
ich bisher im Netz oder auch in Büchern finden konnte).
Gibt es keinen "absolut Beginner" C Kurs der gleich in Richtung AVR (und 
damit auch GCC) aufbaut ?  Wobei der ganze "Hardwarekram" und die 
Grundlagen wie der AVR Mikrokontroller funktioniert als bekannt 
vorausgesetzt werden soll.
Es geht auch "so" aber würde das gezielte Lernen (nicht nur mir ?) doch 
deutlich einfacher machen da es ja einige Besonderheiten bei der 
Mikrocontrollerprogrammierung gibt (z.B. Variablentypen bzw. Bezeichnung 
andere Headerfiles usw.) Es ist überigens kein Problem wenn der Kurs in 
englisch sein sollte.
AVR Studio in Verbindung mit den STK 500 Board habe ich erfolgreich in 
Einsatz und fertige C-Programme auch erfolgreich gebrannt (und die Hex 
Files compilieren lassen).


MFG
   C-Beginner

von Sven P. (Gast)


Lesenswert?

Empfehlung: Steinigt mich und lern bitte zunächst Grundlagen in 
Assembler. Wenn du dich tatsächlich mit der Hardware vertraut gemacht 
hast, ist das kein Problem für dich und du siehst, was und warum und 
wieso in C geht, schnell ist oder eben auch nicht.

Nicht jeder Dreizeiler in C ist auf dem AVR auch 'günstig', in jeder 
Hinsicht.

von eklige Tunke (Gast)


Lesenswert?

Lass das mit dem Multiposting (Erklärung siehe Wikipedia), so etwas 
gehört sich nicht.

Beitrag "C lernen wie am besten für AVR ?"

C-Beginner schrieb:
> habe aber noch "Null Ahnung" bezüglich der
> Programmiersprache C.
Durchsuche mal das Forum hier, da gab es schon sehr viele Threads zu, 
die meisten sind der Meinung, dass du erst C auf dem PC lernen 
solltest...

von Oliver (Gast)


Lesenswert?

Sven P. schrieb:
> Empfehlung: Steinigt mich

Kannste haben. Warum sollte jemand, der C lernen und darin AVRs 
programmieren möchte, erst Assembler lernen? Das ist völlig sinnlos.

Sven P. schrieb:
> und du siehst, was und warum und
> wieso in C geht, schnell ist oder eben auch nicht.

Was man vor allem sehen würde, ist, das eigentlich alles, was der 
C-Compiler so macht, schnell genug ist. Wenn es dann irgendwann mal auf 
ein Byte Flash oder einen TaktzZyklus mehr oder weniger ankommen sollte, 
und sich das weder durch effizientere C-Programmierung, noch durch einen 
dickeren AVR, noch durch einen schnelleren Quarz erschlagen lässt, kann 
man immer noch mal ein paar Assemblerbefehle ansehen.

Wie schon gesagt wurde, die Grundlagen von C lernt man am einfachsten am 
PC. Der Umstieg auf den AVR ist dann mit Hilfe des AVR-gcc-Tutorials 
nicht weiter schwierig.

Oliver

von C-Beginner (Gast)


Lesenswert?

Vielen Dank für die Info
also "auf die harte Tour" - habe ich mir fast gedacht.
Na dann werde ich so weiter machen wie ich jetzt angefangen habe. Denke 
das ich das meiste sowieso aus Beispielen herausholen werden (wie schon 
bei Bascom).
Entschuldigung wegen des "Doppelpostings" aber nach mehreren Minuten 
Wartezeit kahm hier nach dem Absenden die Meldung das der Server nicht 
erichbar ist (wohl eine Falschmeldung).
Insgesamt ist www.mikrocontroller.net (Forum)recht langsam im 
Seitenaufbau was man bei längeren Threads gut sieht (einige Bilder und 
etwas Text sollte doch etwas schneller gehen) aber das wird durch die 
"Mega-Schnelle" Reaktion auf Fragen durch die Nutzer mehr als 
ausgeglichen -Danke an alle -.


MFG

    C-Beginner

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Oliver schrieb:
> Wie schon gesagt wurde, die Grundlagen von C lernt man am einfachsten am
> PC.

Das wäre auch meine Empfehlung.  Wenn man dafür den GCC benutzt, hat
man schon mal den gleichen Compiler, aber halt etwas mehr Komfort für
die ersten Schritte (es gibt bereits einen Eingabe- und zwei
Ausgabekanäle, es debuggt sich leichter).

p.s.: Trau keinem Tutorial über den Weg, welches dir erklärt, dass C++
nur das "modernere C" sei.  Auch, wenn sich ein C-Programm immer so
schreiben lässt, dass es auch gleichzeitig ein gültiges C++-Programm
ist, beide Sprachen sind verschieden und haben jeweils ihr Aufgaben-
feld.  Das soll natürlich nicht heißen, dass man C++ nicht auch auf
einem AVR machen könnte, aber es ist gerade für einen Anfänger dann
noch eine Runde komplexer, die Zusammenhänge zu verstehen.

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.