. Hab mir das Buch "C programmieren" von Guido Krüger angelacht (Ein Kurs zum Selbststudium mit Musterlösungen) und möchte nun ein wenig reinschnuppern (Ziel: die Beispiele um den AVR verstehen). Dazu ist ein Compiler für den PC hilfreich (W7/64). Welchen würdet ihr mir empfehlen? Kurt
:
Verschoben durch Moderator
Matthias x. schrieb: > https://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#Ben.C3.B6tigte_Werkzeuge > > Atmelstudio Danke Kurt
Ja was willst Du nun programmieren den PC oder den AVR ? PC z.B. MS-Visual-Studio oder QT-Creator. AVR z.B. Atmelstudio oder AVR-GCC (WinAVR)
Die Frage ist schon X-Mal durchgekaut worden. Auch hier im Forum. In fast allen Fällen ging es um "Gratis". Versuchs mal mit der, zugegebenermaßen nicht umwerfenden, Suchfunktion.
Ich habe mich auch heute mit einer IDE befasst. Leider musste ich feststellen, dass alles mit GCC für die Tonne ist. Letzte Updates von Dev-C++ oder Code:Blocks liegen Jahre zurück. Und genau so funktionieren Sie auch. Z.B. musste ich feststellen, das bei Code:Blocks das Debuggen nicht funktioniert: Danke. Ich sags ungern aber es stimmt: Wenn Du damit (vernünftig) arbeiten willst, dann kommt nur das Visual Studio von Microsoft in Frage. Gruss Klaus.
Klaus schrieb: > Ich habe mich auch heute mit einer IDE befasst. > > Leider musste ich feststellen, dass alles mit GCC für die Tonne ist. > Letzte Updates von Dev-C++ oder Code:Blocks liegen Jahre zurück. Und > genau so funktionieren Sie auch. > Z.B. musste ich feststellen, das bei Code:Blocks das Debuggen nicht > funktioniert: Danke. > > Ich sags ungern aber es stimmt: Wenn Du damit (vernünftig) arbeiten > willst, dann kommt nur das Visual Studio von Microsoft in Frage. > > Gruss Klaus. Wovon redet der Mensch? Was hat die IDE mit dem Compiler zu tun? Nimm doch Eclipse, Netbeans, KDevelop, eine der anderen 100 IDE oder puristisch einen Texteditor. Gruß Dennis
Klaus schrieb: > Leider musste ich feststellen, dass alles mit GCC für die Tonne ist. Wie du wohl richtig erkannt haben musst gibt es keine guten IDEs, da in jeder IDE der gcc verwendet werden kann. Der GCC ist einfach zu gut für IDEs. > Letzte Updates von Dev-C++ oder Code:Blocks liegen Jahre zurück. Falsch. Zitat von http://sourceforge.net/projects/orwelldevcpp/ : "Last Update: 2015-04-27" > Ich sags ungern aber es stimmt: Wenn Du damit (vernünftig) arbeiten > willst, dann kommt nur das Visual Studio von Microsoft in Frage. Ein grauenhaftes Produkt. Total überladen, und mit den typischen "MS-Featuren". Was einzig wahre ist: Linux + makefile + kate + git + bash + gcc (mingw).
Tom schrieb: > Kann das inzwischen C99? Der Compiler von Visual Studio ist in erster Linie ein C++ Compiler und kann dort die meisten Features von C++14. In C++14 gibts natürlich nicht alles was es in C gibt. Dazu zählen schonmal flexible array members und variable-lenght arrays aber sonst? Welches Feature vermisst du jetzt genau? Daniel A. schrieb: > Ein grauenhaftes Produkt. Total überladen, und mit den typischen > "MS-Featuren". Was bitte sind "MS-Featuren"? Nenn mir bitte mal ein solches Feature. Aber bitte nicht sowas wie "Ist mir zu bunt" oder "Startet zu langsam" sondern irgendwas qualitativ schlechtes am Compiler. Grafische Oberflächen sind nunmal Geschmackssache und das es überladen ist stimme ich zu.
Alles was man mit VS machen kann, kannst du auch mit GCC/minGW/Codeblocks, man muss sich halt mehr mit der WinAPI auseinandersetzen, aber am ende ist das executeable zum einen kleiner und performantter
Sebastian V. schrieb: > Tom schrieb: >> Kann das inzwischen C99? > Der Compiler von Visual Studio ist in erster Linie ein C++ Compiler und > kann dort die meisten Features von C++14. In C++14 gibts natürlich nicht > alles was es in C gibt. Dazu zählen schonmal flexible array members und > variable-lenght arrays aber sonst? Welches Feature vermisst du jetzt > genau? Nanana, immer langsam mit den jungen Pferden: - Soweit ich weiß, sind variable-length arrays nicht Teil des C++ Standards, auch vom VS werden sie nicht unterstützt (vom GCC schon) https://msdn.microsoft.com/en-us/library/zb1574zs(v=vs.140).aspx - VS 2015 ist noch nicht erschienen ( der Release Candidate crasht noch ganz gerne und unterstützt einige C++14 Features nur teilweise oder gar nicht) http://blogs.msdn.com/b/vcblog/archive/2015/04/29/c-11-14-17-features-in-vs-2015-rc.aspx - C++11 wird vom Syntax-highlighting bzw Intellisense (zumindest) in VS2013 nicht unterstützt, auch im VS2015 fehlt zumindest vollständiger support von constexpr - OpenMP ist bei Version 2.0 stehen geblieben (aktuell Version 4.0) - gilt auch für VS015!
Das Problem mit den Bastellösungen rund um den GCC ist, dass man oftmals ewig rumsuchen/machen muss, bis die einfachsten Dinge funktionieren. Das ist beim Visual Studio nicht der Fall. Hier noch eine kleine Suche zu meinem zuvor genannten Debug-Problem bei Code-Blocks: https://www.google.de/?gws_rd=ssl#q=codeblocks+debug+breakpoint+problem&tbs=qdr:y Das kann man sicherlich lösen. Zuvor liest man sich aber ertmal einen Tag ein. Und dann weiss man nicht, was als nächstes kommt. Gruß Klaus
Hallo, ich habe damals auch den Fehler gemacht und direkt mit einer IDE begonnen, da die Profs das halt so lehren. Wenn ich wieder mit dem Programmieren starten würde, würde ich mich erst einmal mit dem Thema makefiles beschäftigen und den Code mit einem einfachen Texteditor schreiben. Wenn man dann versteht, was hinter make und so steckt kann man immer noch auf eine IDE wechseln. Ansonsten gibt es nicht die "EINE" IDE. Code::Blocks, Eclipse oder auch die Qt Umgebung haben so ihre Vor und Nachteile. Einfach testen. Und wenn du nen AVR programmieren willst wirst du wohl kaum um den GCC herumkommen
Ich bin bisher zwei IDEs über den Weg gelaufen, die wirklich out-of-the-box gut funktioniert haben: Atmel AVR Studio und vor Jahren der Borland JBuilder. Alles andere erforderte immer auf irgend eine Art und Weise ein Gebastel.
Klaus schrieb: > Wenn Du damit (vernünftig) arbeiten > willst, dann kommt nur das Visual Studio von Microsoft in Frage. Dem kann ich mich soweit anschließen, als dass es mit dem Programmieren erst geklappt hat, als das Visual-C++ (damals noch) hatte. Wenn du nicht das Hackergefühl brauchst, alles über Kommandozeile und reinen Texteditor zu machen, ist das auf jeden Fall eine brauchbare Lösung.
:
Bearbeitet durch Moderator
Kurt sucht einen C-Compiler. Dussel schrieb: > Visual-C++ ist da leider keine Lösung. C-Compiler wird von MS kaum weiterentwickelt, und ist entsprechend zurückgebleiben. MS konzentriert sich rein auf den C++-Compiler. Und nein, daß ist nicht das gleiche, und es ist auch nicht der selbe Compiler. Und da der Sinn der ganzen Übung später mal die AVR-Programmierung ist, die sowieso auf dem gcc voraussetzt, warum nicht gleich gcc. Die Vorstellung, Programmieren ginge ohne selber denken nur mit out-of-the box clicki-bunti-tools, ist eh realitätsfremd. Oliver
Matthias H. schrieb: > Nanana, immer langsam mit den jungen Pferden: > - Soweit ich weiß, sind variable-length arrays nicht Teil des C++ > Standards, auch vom VS werden sie nicht unterstützt (vom GCC schon) > https://msdn.microsoft.com/en-us/library/zb1574zs(v=vs.140).aspx Ich hab ja auch nichts anderes behauptet.
Oliver S. schrieb: > Dussel schrieb: >> Visual-C++ > ist da leider keine Lösung. Das war es damals. Inzwischen ist es zu Visual Studio geworden oder davon abgelöst worden. Visual Studio hat auch einen C-Compiler. Wenn du sagst, der sei veraltet, nehme ich das mal so hin. Für mich hat es gereicht. Oliver S. schrieb: > Die Vorstellung, Programmieren ginge ohne selber denken nur mit > out-of-the box clicki-bunti-tools, ist eh realitätsfremd. Wenn du damit meinst, dass diese das Programmieren nicht übernehmen, hast du natürlich recht. Wenn du allerdings meinst, professionell Programmieren ginge ausschließlich mit IDEs nicht, bestätigt das die bei dir angenommene fehlende Qualifikation, die sich aus der Wortwahl "clicki-bunti-tools" erahnen lässt.
Oliver S. schrieb: > Kurt sucht einen C-Compiler. > > Dussel schrieb: >> Visual-C++ > > ist da leider keine Lösung. C-Compiler wird von MS kaum > weiterentwickelt, und ist entsprechend zurückgebleiben. MS konzentriert > sich rein auf den C++-Compiler. > > Und nein, daß ist nicht das gleiche, und es ist auch nicht der selbe > Compiler. > > Und da der Sinn der ganzen Übung später mal die AVR-Programmierung ist, > die sowieso auf dem gcc voraussetzt, warum nicht gleich gcc. > > Die Vorstellung, Programmieren ginge ohne selber denken nur mit > out-of-the box clicki-bunti-tools, ist eh realitätsfremd. > Hallo Leute, erstmal bin ich ein wenig erschlagen, so viele Begriffe die mir nichts sagen, ich nicht kenne. Mein Einstieg in C wäre so angedacht. Erstmal "Hallo hier bin ich", und einen Zähler der hochzählt, auf den PC-Schirm bringen. (mit Hilfe des vorhandenen Buches). Klappt das einigermassen dann der Sprung um AVR Wie die grob funktionieren ist mir bekannt (BASCOM und ein wenig Hardwareverständnis), es geht also darum den Übergang/Aufsprung zu C zu finden und mit einem Auge dann auf die AVRs rüber zu schielen. (für mich heisst alles was ich brauche um den Text auf den Schirm zu bringen Compiler, was das im einzelnen ist das versuche ich rauszukriegen) Kurt
Kurt B. schrieb: > es geht also darum den Übergang/Aufsprung zu C zu > finden Pelles C finde ich zum üben ganz gut
Kurt B. schrieb: > (für mich heisst alles was ich brauche um den Text auf den Schirm zu > bringen Compiler, was das im einzelnen ist das versuche ich > rauszukriegen) Der Compiler ist das Programm, welches den Quellcode zu einem ausführbaren Programm übersetzt (etwas vereinfacht). Außer einem Compiler brauchst du dann noch einen Editor in welchem du den Quellcode schreibst, aber das kann so ziemlich alles sein. Von irgendwas ganz einfachem bis zur kompletten Entwicklungsumgebung mit "klicki-bunti" Features. Was dir lieber ist musst du selbst wissen. Da hat sowieso jeder seine persönlichen Vorlieben.
Kurt B. schrieb: > Oliver S. schrieb: >> Kurt sucht einen C-Compiler. >> >> Dussel schrieb: >>> Visual-C++ >> >> ist da leider keine Lösung. C-Compiler wird von MS kaum >> weiterentwickelt, und ist entsprechend zurückgebleiben. MS konzentriert >> sich rein auf den C++-Compiler. >> >> Und nein, daß ist nicht das gleiche, und es ist auch nicht der selbe >> Compiler. >> >> Und da der Sinn der ganzen Übung später mal die AVR-Programmierung ist, >> die sowieso auf dem gcc voraussetzt, warum nicht gleich gcc. >> >> Die Vorstellung, Programmieren ginge ohne selber denken nur mit >> out-of-the box clicki-bunti-tools, ist eh realitätsfremd. >> > > Hallo Leute, erstmal bin ich ein wenig erschlagen, so viele Begriffe die > mir nichts sagen, ich nicht kenne. > > Mein Einstieg in C wäre so angedacht. > Erstmal "Hallo hier bin ich", und einen Zähler der hochzählt, auf den > PC-Schirm bringen. (mit Hilfe des vorhandenen Buches). > Klappt das einigermassen dann der Sprung um AVR > > Wie die grob funktionieren ist mir bekannt (BASCOM und ein wenig > Hardwareverständnis), es geht also darum den Übergang/Aufsprung zu C zu > finden und mit einem Auge dann auf die AVRs rüber zu schielen. > > (für mich heisst alles was ich brauche um den Text auf den Schirm zu > bringen Compiler, was das im einzelnen ist das versuche ich > rauszukriegen) > > Kurt Wenn es nur Konsole sein soll (DOS-Prompt) nimm den GCC der ist dann auch beim AVR mit makefile usw. identisch. Kannst Du sogar so als crosscompiler einrichten das ein einfaches Flag von PC auf AVR umschaltet. Nur bedenke das ein printf für Textausgabe beim PC nicht so zuschlägt (Speichertechnisch) wie beim AVR. Einen Texteditor mit Syntaxhervorhebung ist z.B. der ProgrammersNotepad der beim WinAVR = AVR-GCC mit dabei ist. Programmiert wird dann der AVR via avrdude und den makefile Einstellungen. Da mußt Du Dich etwas mehr einarbeiten als beim AVR-Studio und MS-Visual-Studio. Du kannst aber auch mit etwas mehr klicken in Visual-Studio den AVR oder GCC compiler einbinden. Allerdings machen makefiles mehr Sinn, da sie direkter sind. Lade Dir einfach mal alle runter und teste was Dir am besten gefällt: http://winavr.sourceforge.net/download.html http://www.atmel.com/tools/atmelstudio.aspx https://www.visualstudio.com/en-us/products/visual-studio-express-vs.aspx http://www.qt.io/download/ Sind alle Freeware.
>>Was einzig wahre ist: Linux + makefile + kate + git + bash + gcc >>(mingw). hust s/kate/vim/ :)
Entwickler schrieb: >>>Was einzig wahre ist: Linux + makefile + kate + git + bash + gcc >>>(mingw). > > hust > > s/kate/vim/ > > :) Jo, aber direkt Makefiles mach ich dann auch nicht. CMake darf's dann schon sein. Und statt git nehme ich noch svn. Das verstehe ich wenigstens ;-)
xyz schrieb: > Ja was willst Du nun programmieren den PC oder den AVR ? > PC z.B. MS-Visual-Studio oder QT-Creator. > AVR z.B. Atmelstudio oder AVR-GCC (WinAVR) Also, ich hab mir das ATMEL-Studio6 (10.0) runtergeladen, jetzt kommt nach Aufruf: die Start Page AtmelStudio, der Reiter: Get Started ist aktiv. Bereitgelegt habe ich mir einen MEGA 328P auf Arduino Pro Mini auf einer Platine, dieser hat eine LED an PB5. Diese möchte ich mit Hilfe von C zum blinken animieren, vorhanden ist ein Proger der über USB-COM mit Hilfe eines STK500 native Driver den Mega progen kann. Mit BASCOM habe ich das im Griff, somit kann ich jederzeit kontrollieren ob die Hardware in Ordnung ist. Was muss ich dem Atmel Studio nun alles sagen damit es mir den Editor bereitstellt damit ich die ersten Zeilen reinschreiben kann? Kurt
Kurt B. schrieb: > Was muss ich dem Atmel Studio nun alles sagen damit es mir den Editor > bereitstellt damit ich die ersten Zeilen reinschreiben kann? Neues Projekt erstellen, richtigen Mikrocontroller auswählen und schon gehts los.
Kurt B. schrieb: > xyz schrieb: >> Ja was willst Du nun programmieren den PC oder den AVR ? >> PC z.B. MS-Visual-Studio oder QT-Creator. >> AVR z.B. Atmelstudio oder AVR-GCC (WinAVR) > > Also, ich hab mir das ATMEL-Studio6 (10.0) runtergeladen, jetzt kommt > nach Aufruf: die Start Page AtmelStudio, der Reiter: Get Started ist > aktiv. > > Bereitgelegt habe ich mir einen MEGA 328P auf Arduino Pro Mini auf einer > Platine, dieser hat eine LED an PB5. > Diese möchte ich mit Hilfe von C zum blinken animieren, vorhanden ist > ein Proger der über USB-COM mit Hilfe eines STK500 native Driver den > Mega progen kann. > Mit BASCOM habe ich das im Griff, somit kann ich jederzeit kontrollieren > ob die Hardware in Ordnung ist. > > Was muss ich dem Atmel Studio nun alles sagen damit es mir den Editor > bereitstellt damit ich die ersten Zeilen reinschreiben kann? > > > Kurt Wenn Du einen Arduino hast müßte doch eigentlich alles direkt via USB und der Arduino Suite gehen ? Oder hast Du sinnfrei einen Mega328p mit geflashtem Arduino geholt ? Was auch immer wie schon erwähnt den passenden Programmer (STK500) und den richtigen AVR auswählen wenn Du ein neues Projekt erstellst. Dann lies mal sicherheitshalber das Flash aus. Wenn das klappt ist alles richtig eingestellt. Danach den Testcode im AtmelStudio reintippen, compilieren und wenn keine Fehler auftreten flashen. Viel Spaß mit der blinkenden LED, schade das Weihnachten vorbei ist.
Matthias H. schrieb: > - OpenMP ist bei Version 2.0 stehen geblieben (aktuell Version 4.0) - > gilt auch für VS015! Da besteht erstaunlicherweise scheinbar auch kein so großer Bedarf - Hat aktuell kaum Votes: http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/6216349-update-your-openmp-support-to-openmp-3-1
Sebastian V. schrieb: > Matthias H. schrieb: >> Nanana, immer langsam mit den jungen Pferden: >> - Soweit ich weiß, sind variable-length arrays nicht Teil des C++ >> Standards, auch vom VS werden sie nicht unterstützt (vom GCC schon) >> https://msdn.microsoft.com/en-us/library/zb1574zs(v=vs.140).aspx > > Ich hab ja auch nichts anderes behauptet. Mir ist auch grad aufgefallen, das ich das "nicht" überlesen habe, sorry dafür :) bluppdidupp schrieb: > Da besteht erstaunlicherweise scheinbar auch kein so großer Bedarf - Hat > aktuell kaum Votes: > http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/6216349-update-your-openmp-support-to-openmp-3-1 Da hast du leider recht. Akademische Software läuft manchmal nicht auf Windows (und zwar aus diesem und ähnlichen Gründen). Zum Glück hat sich mit C++11 punkto Parallelisierung einiges getan, dodass OpenMP fast gänzlich durch Sprachfeatures ersetzt werden kann.
https://xkcd.com/378/ > Real programmers set the universal constants at the start > such that the universe evolves to contain the disk with the > data they want. Atmel Studio basiert auf Visual Studio, kann also nicht verkehrt sein, sich an C mit dem Visual Studio Express zu gewöhnen und ein paar Konsolenprogramme als Programmierübungen zu machen. https://projecteuler.net/ bietet sich für sowas zB an
:
Bearbeitet durch User
Hallo Vlad, bist Du zufällig mit dem hier verwandt, Du alter Blutsauger? https://de.wikipedia.org/wiki/Vlad_III._Dr%C4%83culea
Kurt B. schrieb: > Was muss ich dem Atmel Studio nun alles sagen damit es mir den Editor > bereitstellt damit ich die ersten Zeilen reinschreiben kann? Kann man denn da kein Beispielprojekt öffnen? Deinen Programmer musst du wohl als STK500 explizit einbinden, denn den kann er nicht automatisch erkennen.
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.