Hallo, ich habe meine AVR-Controller bisher in Assemlber mit AVR-Studio programmiert. Nun habe ich mal Bascom getestet und war sehr begeistert. Nur leider bin ich dann sehr schnell an die 4k grenze in der Demo von Bascom gekommen. Was gibt es so an kostenlosen/Preisgünstigen "höheren Sprachen" als Assembler um AVR Controller zu Programmieren? Bascom ist ja sehr simpel und schnell zu verstehen. Ich habe in der Hilfe einfach alle "Befehle" die es gibt alphabetisch aufgelistet mit beschreibung und codebeispiel. Vielen Dank für eure Hilfe!!
....Bascom ist ja sehr simpel und schnell zu verstehen.... Aber nur wenn das compilat läuft! Bei Bascom wird soviel intern rumgewurschtelt, was der Anwender nicht mitbekommt.
Ich nutze auch Bascom und finde es ist sein Geld wert, die Onlinehilfe ist sehr umfassend. Komme Entwicklungstechnisch eh aus der Basic-Ecke (VB, VBA, .NET) und fand mich daher in Bascom sehr schnell zurecht. Die nächste "Investition" werden wohl zusätzliche Module sein. Ein paar Macken hat Bascom allerdings schon... Als kostenlose Alternativen gibt's wohl nur Assembler oder C mit WinAVR und GCC.
Hmm, wer die Wahl hat, hat die qual... Gibt es denn für Gründe nicht Bascom zu nehmen und auf C um zu steigen?
Lukas wrote: > Hmm, wer die Wahl hat, hat die qual... > > Gibt es denn für Gründe nicht Bascom zu nehmen und auf C um zu steigen? Abgesehen davon, dass C Industriestandard ist, es dafür freie Compiler gibt, man unendlich flexibler ist, als mit BASIC und die Programme noch dazu schneller ablaufen können, nein.
wie wärs wenn du mal die suchfunktion nutzt= der "krieg" wurde schon hundertfach ausgetragen..
>der "krieg" wurde schon hundertfach ausgetragen..
Schlachten wurden geschlagen, aber der Krieg dauert noch an.
Ok, ich denke es ist am besten, wenn ich mir selber ein Bild davon mache und dann entscheide, was ich bevorzuge. Was brauche ich denn um mal einen Test zu machen (z.B. erstmal ein "Blink-LED-Porgramm" schreiben) und mich in die Grundlagen einzuarbeiten? Ich habe mal AVR-GCC runtergeladen und istalliert. Nun kann ich in AVR-Studio ein "C-Programm" für meinen ATMega8 schreiben und Compelieren? Vielen Dank für eure Hilfe! Gruß, Lukas.
Lukas wrote: > Gibt es denn für Gründe nicht Bascom zu nehmen und auf C um zu steigen? # Preis BASCOM kostet Geld. Bei C gibt es sowohl kostenpflichtige als auch kostenlose Versionen. Der Preis für gute Tools kann sich allerdings relativieren, wenn man seine Entwicklungszeit mitrechnet. Ein dazugekauftes Modul kann letztlich preiswerter sein als eine Eigenentwicklung. # Offenheit Wie die Befehle/Module von BASCOM intern arbeiten ist entweder im Manual dokumentiert oder nicht. Wenn nicht, kann man nicht so einfach in der Source nachsehen, wie die Arbeitsweise ist. Bei C (AVR GCC) ist der Einblick in die Sourcen möglich. # Mein Fazit Ich bin Hobbyist und rechne meine Entwicklungszeit nicht, sondern verbuche das unter Spass und Neugier. So gesehen machen fertige, kostenpflichtige Tools und Module keine Punkte und closed source behindert mich. Daher benutze ich meistens AVR GCC und die BASCOM-Demo gelegentlich bei Themen aus dem Forum.
Tja, BASCOM hat Suchtpotential, wer einmal angefixt ist, der kommt davon nur schwer wieder weg. Um damit effiziente Programme zu schreiben, muss man aber BASCOM (und ASM) schon verdammt gut verstehen. Denn Programmieren ist mehr, als nur ein paar (meist unverstandene) vorgefertigte Bausteine zusammenzuschieben und sich dann zu wundern warum die Hexdatei so groß und das Programm so langsam ist. Nein, ich verteufele BASCOM nicht, kann aber gut darauf verzichten. ;-) ~
Hallo, also ich nutze C und BASCOM gewerblich! C nutze ich nur um Eindruck zu schinden. Bascom nutze ich um schneller ans Ziel zu kommen. Ich finde Bascom auch sein Geld wert! Ich habe mit Bascom schneller einen fertigen Programmcode gehabt als mit C. C ist natürlich Industriestandard, aber wir geben die Codes unserer Projekte ja nicht raus. Dem Kunde ist es meistens egal mit was man Proggt, hauptsache das Ziel wird erreicht.
Alex W. wrote: > C ist natürlich Industriestandard, aber wir geben die Codes unserer > Projekte ja nicht raus. Dem Kunde ist es meistens egal mit was man > Proggt, hauptsache das Ziel wird erreicht. Ist ihm das denn auch egal, wenn es sich dabei um sicherheitsrelevante Dinge handelt? Automotive! Automation! Ist Sicherheit gefordert, bist du mit BASCOM vermutlich GANZ schnell an der Wand, denn da kann niemand reingucken und verifizieren.
Hallo, hat schon mal einer daran gedacht, mit C zu arbeiten, um dann bei der nächsten Bewerbung das mit auf die Liste seiner Fähigkeiten zu setzen ? Insofern würde ich persönlich jede private Herausforderung was neues zu lernen annehmen, Basic kann ich auf Arbeit benutzen. Gruß, Michael
Ok, vielen Dank für eure Antworten und ich denke ich werde mir C einfach mal anschaun. Dann kann ich erstens auf meiner Bewerbung reinschreiben "Grundlegende Kenntisse in C" und zweitens kann ich mich dann selber entscheiden, was ich toller finde oder gar mit beidem arbeiten. Also an dieser Stelle schon ein mal DANKE!! Nun stellt sich mir die Frage, wie fange ich nun an. Am schönsten ist natürlich eine fertige IDE wo der Compiler Debugger Editor etc. alles mit drin ist. Was ist denn nem Anfänger wie mir am besten zu empfehlen? - Ich arbeite mit Windows Vista (bitte keine kommentare dazu). - Ich besitzte einen AVR-ISP mit ich aus AVR-Studio (und Ponyprog rein theoretisch auch) auf jedenfall den ATMega8 bespielen kann. Vielen Dank! Lui
Lukas wrote: > Was ist denn nem Anfänger wie mir am besten zu empfehlen? > - Ich arbeite mit Windows Vista (bitte keine kommentare dazu). > - Ich besitzte einen AVR-ISP mit ich aus AVR-Studio (und Ponyprog rein > theoretisch auch) auf jedenfall den ATMega8 bespielen kann. AVR Studio + WinAVR
Lukas wrote: > Dann kann ich erstens auf meiner Bewerbung reinschreiben "Grundlegende > Kenntisse in C" DAS würde ich auf keinen Fall reinschreiben. Grundlegende Kenntnisse hat man, wenn man mal ein Buch zu C durchgeblättert hat. C Kenntnisse alleine locken auch keinen hinterm Ofen hervor. Wenn das da steht muss IMHO dabeistehen, wozu das C eingesetzt wurde. Also "Kernelprogrammierung unter Linux" oder "Programmierung von Mikrokontrollern Typ XYZ"...
Lass den Mikrocontroller zum Einstieg erstmal weg -- da sind noch zu viele Fehlerquellen drin. Installier dir GCC-Packete oder installier MinGW oder sowas und fang erstmal mit Konsolenprogrammen auf dem Computer an. Dadurch schließt du schonmal 90% der möglichen Fehler beim Programmieren von MCU aus, und kannst dich mehr auf C konzentrieren.
1 | #include <stdio.h> |
2 | |
3 | int main(int argc, char *argv[]) { |
4 | printf("Bummsfallera\n."); |
5 | return 0; |
6 | }
|
Stefan B. wrote >C Kenntnisse alleine locken auch keinen hinterm Ofen hervor. Wenn das da >steht muss IMHO dabeistehen, wozu das C eingesetzt wurde. Also >"Kernelprogrammierung unter Linux" oder "Programmierung von >Mikrokontrollern Typ XYZ"... Ok werde ich berücksichtigen, also eher sowas wie: Grundlegende Kenntnisse in AVR-Programmierung in C Andi D. wrote >AVR Studio + WinAVR Ok installiert habe AVR Studio und WinAVR inzwischen. Wenn ich nun ein neues Projekt erstelle wähle ich dann einfach AVR-GCC aus? Im AVR-GCC Tutorial von hier steht am anfang: Vorausgesetzt werden Grundkenntnisse der Progammiersprache C. Diese Kenntnisse kann man sich online erarbeiten, z. B. mit dem C Tutorial von Helmut Schellong. Nicht erforderlich sind Vorkenntnisse in der Programmierung von Mikrocontrollern, weder in Assembler noch in einer anderen Sprache. Gibt es sowas auch genau umgekehrt??? Grundkennttnisse in der Programmierung von Mikrocontrollern in Assembler und einer anderen Sprache habe ich, aber gar keine in C. Vielen Dank! Lui.
Lukas wrote: > Ok installiert habe AVR Studio und WinAVR inzwischen. Wenn ich nun ein > neues Projekt erstelle wähle ich dann einfach AVR-GCC aus? Ja, ganz genau. Was auch sonst? > Programmierung von Mikrocontrollern in Assembler und einer anderen > Sprache habe ich, aber gar keine in C. Dann fang am besten, wie Sven Pauli schon sagte, damit an deine ersten C-Programme am PC zu schreiben und zu testen. Auch dafür gibt es freie Entwicklungsumgebungen. Du vertrödelst sonst ne Menge Zeugs, bis die C-Grundlagen so einigermassen sitzen. Wenn du die dann hast, kannst du ziemlich leicht auf den µC umschalten. Am Anfang musst du dich an die C-Syntax gewöhnen, ein paar Konzepte lernen etc. Und das geht am PC mindestens genausogut, wenn nicht besser, als am µC. Der Grund dafür ist einfach: Du hast bessere Debug-Möglichkeiten.
Ok, kann ich mir dann auch Visual C++ 2008 benutzen? Oder ist das dann was völlig anderes?
> Nun kann ich in AVR-Studio ein "C-Programm" für meinen ATMega8 schreiben > und Compelieren? Kurz und knapp, Ja. Rest siehe AVR-Tutorial [Assembler und mehr Hardware] und AVR-GCC-Tutorial [C und weniger Hardware]. Viele hier im Forum würden dir empfehlen mit Assembler an zu fangen, ich meine, "C passt scho'!". ;-) > Ok, kann ich mir dann auch Visual C++ 2008 benutzen? Äh, wäre mir neu, aber WinAVR bietet auch viel Komfort. P.S.: Hast du dir schon mal die Tutorials und die Artikel hier angeschaut, da werden schon viele deiner Fragen abgearbeitet. http://www.mikrocontroller.net/articles/Spezial:Allpages
Lukas wrote: > Ok, kann ich mir dann auch Visual C++ 2008 benutzen? Oder ist das dann > was völlig anderes? Ne, da steckt wieder .NET und MFC und all son Krimskrams dahinter. Benutz den ganz nackten GCC für Windows, der kompiliert dir schon das Progrämmchen, das ich dir oben angehängt hab...
Sven Pauli wrote: > Lukas wrote: >> Ok, kann ich mir dann auch Visual C++ 2008 benutzen? Oder ist das dann >> was völlig anderes? > > Ne, da steckt wieder .NET und MFC und all son Krimskrams dahinter. Die Gefahr besteht natürlich. Aber wenn er sich immer an die simpleste Variante hält und bei jeder Auswahl immer die nimmt, bei der 'Konsole' in irgendeiner Form vorkommt und alle Anfragen des Wizards nach irgendwelchen Dingen, die er für den Programmierer erledigen soll, mit 'Nein' beantwortet, dann kann er das durchaus nehmen, wenn ers schon auf der Maschine hat :-)
guest wrote: >> Ok, kann ich mir dann auch Visual C++ 2008 benutzen? > Äh, wäre mir neu, aber WinAVR bietet auch viel Komfort. Es geht darum, dass er seine ersten Schritte in C auf dem PC und nicht auf dem µC macht. Du weist schon: Basic-Syntax, Variablen, gewöhnen an Datentypen, erste Schleifen, erste Funktionen und so'n Zeugs.
Wenn jemand daran interessiert ist, ich habe einen Basic->C Translator, der das Basic vom Pic übersetzen kann, sowie einige Erweiterungen. Ist recht flexiebel. Wenn jemand bereit ist, daran Hand anzulegen, stelle ich die Bins sowie Support gerne zur Verfügung. Source leider nicht. Ev. gibt es genug basic->C translatoren auf Unix, welche ev. auch funktionieren.
Ist eher witzlos, da der grosse Vorteil von BASCOM (welcher gleichzeitig auch sein Nachteil sein kann) darin besteht, dass es die Hardware soweit abstrahiert, dass ihm beispielsweise nur noch mitteilst, dass du ein LCD an diesen und jenen Pins hast und BASCOM kümmert sich um den Rest. Selbiges für Servos und was weiß ich noch alles. D.h. BASCOM lebt und stirbt damit, dass es eine Menge Peripherie von Haus aus kennt, ohne dass du gross was machen musst.
Ja, das macht der Pic Basic compiler auch. Deshalb, es braucht ein paar Libs in C, damit das Basic problemlos compiliert wird. Denke, viel ist schon in den Procyon AVRlib enthalten, also bräuchte es wirklich nicht viel Arbeit, um das Anzupassen.
>>> Ok, kann ich mir dann auch Visual C++ 2008 benutzen? >> Äh, wäre mir neu, aber WinAVR bietet auch viel Komfort. > Es geht darum, dass er seine ersten Schritte in C auf dem PC und nicht > auf dem µC macht. > Das hätte ich da so jetzt nicht rausgelesen... Naja, er muss das draus machen was er will... ;-) > Du weist schon: Basic-Syntax, Variablen, gewöhnen an Datentypen, erste > Schleifen, erste Funktionen und so'n Zeugs. Ne, zumindest Basic-Syntax ging an mir vorüber. ;-)
Ok, Vielen Dank für die schnellen und umfangreichen Infos!! Ich schau mir C in den nächsten Wochen mal ein bisschen an und werde dann berichten!!
Sven Pauli wrote: > Lukas wrote: >> Ok, kann ich mir dann auch Visual C++ 2008 benutzen? Oder ist das dann >> was völlig anderes? > > Ne, da steckt wieder .NET und MFC und all son Krimskrams dahinter. > Benutz den ganz nackten GCC für Windows, der kompiliert dir schon das > Progrämmchen, das ich dir oben angehängt hab... Hallo, aus eigener Erfahrung muss ich leider feststellen, daß Visual C++ wenig mit Standard C++ wie es unter Gnu läuft zu tun hat. Mit andern Worten, wenn Microsoft einen Standard erstmal in die Finger bekommt, dann wars das. Wollte nur mal so meine Applikation nach VC++ portieren, aber selbst die Headerfiles hätte ich komplett umschreiben müssen. Aber mal im Ernst: AVR-Studio ist eigentlich brauchbar, vor allem weil man die Ausführung mit dem Simulator auch gleich austesten kann. D.h. wenn die LEDs nicht so blinken wie sie sollen, dann läßt sich das nachvollziehen. am Anfang sind die logischen Operatoren in C tödlich, der Gebrauch von & und && sowie || und | verwirtt, aber man kann das lernen. Gruß, Michael
Michael Appelt wrote: > [...], aber man kann das lernen. Gutes Stichwort... gibts hier brauchbare Literatur die einen C-Neuling, aber erfahrenen Programmierer nicht zu tode langweilt? Ich hab mich schon ein paarmal rangesetzt und wollte C (und auch C++) lernen, aber nach 3 Lektionen isses mir zu dumm und ich schmeiss es wieder in die Ecke. Mich interessiert hier Lern-Literatur für C generell und im speziellen natürlich für C auf den AVRs.
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.