Hallo, mein Name ist Björn, 40 Jahre alt und von der Ausbildung her Energieelektroniker. Über ein Projekt meines Sohnes in der Berufschule bin ich, nach dem Junior das Interesse verloren hat, an einen Asuro geraten und habe auch schon eine Weile mit dem Teil "herumgespielt". Alles schön und gut. Bei Pollin habe ich mir dann so ein AVR Evaluätionsboard gekauft und auch so einen Arduino SMD Kit. Schön, aber wenn ich das Ein oder Andere Beispiel aus dem Forum hier für den ATmega 328P oder den ATmega 8 testen will, dann streiken die Editoren für Arduino und Asuro mit einer großen Menge Fehlermeldungen. Viele von den Befehlen, die Ihr hier in den Codes verwendet sind gar nicht in Asuro oder Arduino beschrieben. Auch viele von den Teilen, die man so bei Robotik Hardware kaufen kann, die diese "SPI" Schnittstelle haben, laufen einfach nicht. Ich denke mal, es liegt daran, dass Arduino oder Asuro gar nicht in "echtem" C programmiert werden, sondern in einer Sonderform. Wie steigt man denn nun eigentlich ein, wenn man SPI, ADC, USART usw. in C nutzen will ? Oder ist das Alles nur eine Sache von diesen #include Sachen oben am Code ? Viele Beispiele aus den Tutorial von AVR und AVR GCC klappen, aber nicht alle und nicht Alle auf allen Systemen. Mit WinAVR gehen die meisten Sachen aus dem AVR GCC Tutorial, aber keine Asuro / Arduino Sachen. Mit dem Arduino Editor kann ich die Asuro Sachen zwar schreiben und umwandeln, aber ich kriege die Sachen nicht in den Asuro rein. Mit WinAVR kann ich dann eine hex Datei machen, die geht aber weder in Arduino, noch in Asuro. Auf dem AVR Evaltuationsboard geht die Datei dann rein, aber ich kann das Proramm nicht testen, weil ja Sensoren und so fehlen. Meine Junior habe ich schon gefragt, aber der war so schlecht in dem Fach, dass es sich nicht lohnt den zu fragen. Also, wie ausser Kerningham / Richie (R.I.P.) und AVR GCC schaffe ich einen Einstieg in C, der für Alles passt ? Danke schon einmal. Björn
Wie oft erwaehnt: Mit K&R am PC anfangen. Wenn Sprache verstanden, mit dem Mikrocontroller weiter machen.
Björn W. schrieb: > Ich denke mal, es liegt daran, dass Arduino oder Asuro gar nicht in > "echtem" C programmiert werden, sondern in einer Sonderform. > > Wie steigt man denn nun eigentlich ein, wenn man SPI, ADC, USART usw. in > C nutzen will ? Hallo Björn Ich denke Du bringst da ein paar Dinge durcheinander. C bleibt C. Egal wofür. Der Unterschied ist lediglich bei der Hardwarenahen Programmierung, dass eben die Hardware ändert und dementsprechend anders angesprochen wird. Ein AVR C Programm funktioniert in den wenigsten Fällen für einen anderen Kontroller. Das bedeutet für Dich, dass Du dediziert C mit Deinem verwendeten Kontroller lernen musst. Grüsse, René
Oder wie Marwin vorgeschlagen. C auf einem PC lernen und dann Hardware programmieren.
Rene H. schrieb: > C bleibt C. Arduino ist aber C++, mit einem Framework, das für den Nutzer eine Blackbox ist, und mit einer drumrumgewickelten IDE, die völlig in Java-Code festgezurrt ist.
Moin, damit das Ardino und Asuro wohl auch Sonderformen von C sind hast richtig erkannt. Die Programmierprogramme(IDE) verschleiern dir einiges. Ich würde dir empfehlen arbeite ein C-Tutorial durch, entweder im Netz oder mit einem Buch. Und zwar meine ich C für den PC. Wenn du das hast schaust du dir auf dieser Seite das AVR GCC Tutorial an, und arbeitest das durch. das kannst du sogar mit dem Arduino Board machen nur halt mit einem anderen Programmierporgramm, bsb AVR Studio. Also erst mal C generell lernen und damit vertraut werden. Dann auf den µC umsteigen. Klar denkst du jetzt ich hab doch arduino usw. programmiert aber der sprach umfang dort ist recht begrenzt und es gibt viele Bibliotheken im Hintergrund. Das sind die Befehle/Funktionen die der AVR GCC nicht kennt. Die gibts in C auch nicht. Diese Befehle haben die Arduino Jungs selbst in C/C++ geschrieben. Ich würde sagen jenachdem was du vorhast. Kannst du auch einfach bei Arduino bleiben. Die haben ne große Community und das du damit ein Projekt nicht realisieren kannst glaube ich nicht. Wenn du jedoch verstehen willst was so ein µC macht. Dann fang ganz unten an mit Assambler. Dafü gibts hier auch schönes Tut. MfG Tec
Also, dann lerne und schreibe ich die ganze Zeit schon C ?? Meint Ihr mit "Hardwarenah" so Sachen wie DDRB, SPEED, oder PIN ? Wenn es "nur Das" ist, dann muß ich aber noch eine Menge lernen, weil da scheint ja "der Mikrocontroller erst anzufangen" ... Was ist denn dann näher an der Hardware ? Asuro ? Arduino ? oder Beides vergessen und mit dem AVR Evaluationsboard arbeiten und das Erweiterungsboard dazu aufbauen um LCD / LED und Taster zu haben ? Björn
Björn W. schrieb: > dann streiken die > Editoren für Arduino und Asuro mit einer großen Menge Fehlermeldungen. Der Trick ist eigentlich nur, diese Fehlermeldungen auch zu lesen. Und wenn Du sie nicht verstehst, einfach copy&paste hier rein und fragen. Nur die ersten 1..3 Meldungen, der Rest sind meistens Folgefehler. Und den dazugehörenden Code als Anhang, also das *.h, *.c bzw. *.cpp. Aber nicht als *.doc, *.bmp, *.png oder ähnlichen Unsinn! Peter
Wenn es um das Erlernen der Sprache geht, kann ich diesen VIDEO-Kurs empfehlen: http://et-tutorials.de/mikrocontroller/
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.