Hallo Leute! Habe mir vor einen halben Jahr das: "MyAVR Board MK2" gekauft...und habe es jetzt wieder in die Hände bekommen. Programmieren möchte ich in BASCOM Hätte dann 2 Fragen: 1.: Gibt es zu diesen Thema (µC Programmierung in Bascom) "gute" Internetseiten oder Bücher, in denen ich das Programmieren erlernen kann!? 2.: Wie Steuere ich am besten eine 7 Segment Anzeige mit einen Atmega 8 an? Ich habe schon das Tutorial: "7-Segment-Anzeigen - Eine Ziffer bitte" gemacht aber da kommt bei mir irgend ein "wirres Zeug" raus. Danke mfg iMazze
Maximilian K. schrieb: > Programmieren möchte ich in BASCOM Ich möchte hier sicherlich keine (größere) Auseinandersetzung bezüglich der verschiedenen Programmiersprachen starten, aber was genau spricht denn - in deinen Augen - für BASCOM? Gerade die Tatsache, dass man BASCOM erst erwerben muss (die Demo-Version ist doch recht beschränkt), während man einen ordentlichen C-Compiler für umsonst erhalten kann, halte ich für ausschlaggebend. Es gibt sicherlich genug Leute, welche BASCOM benutzen. Dennoch, so behaupte ich, programmieren die meisten hier neben Assembler in C. Das zeigen wohl auch die beiden Tutorials, welche es hier gibt. Insofern solltest du diese Prämisse vielleicht noch einmal überdenken. Insbesondere, wenn du da Programmieren sowieso erst erlernen willst. Maximilian K. schrieb: > 1.: Gibt es zu diesen Thema (µC Programmierung in Bascom) "gute" > Internetseiten oder Bücher, in denen ich das Programmieren erlernen > kann!? Die Weblinks des Wikipedia-Artikels (http://de.wikipedia.org/wiki/BASCOM) hast du dir schon angesehen? Maximilian K. schrieb: > Wie Steuere ich am besten eine 7 Segment Anzeige mit einen Atmega 8 > an? > Ich habe schon das Tutorial: "7-Segment-Anzeigen - Eine Ziffer bitte" > gemacht aber da kommt bei mir irgend ein "wirres Zeug" raus. Das wird unter anderem im Tutorial (http://www.mikrocontroller.net/articles/AVR-Tutorial:_7-Segment-Anzeige) erklärt und funktioniert auch. Wenn es das bei dir nicht tut, dann hast du etwas falsch gemacht. Bei deiner Fehlerbeschreibung, lässt sich das aber nicht weiter einschränken. I.d.R. speichert man die verschiedenen Muster für die Zahlen 0-9 ab, und gibt diese dann entsprechend aus. Die Ansteuerung kann direkt, per Multiplexing oder z.B. per Schieberegister geschehen.
Karol Babioch schrieb: > Gerade die Tatsache, dass man BASCOM erst erwerben muss (die > Demo-Version ist doch recht beschränkt), während man einen ordentlichen > C-Compiler für umsonst erhalten kann, halte ich für ausschlaggebend. Hallo, das ist eine ungenaue, irreführende Aussage. Bascom-Demo ist nur in der Dateigröße eingeschränkt, hat aber sonst vollen Funktionsumfang. Zur Frage von Maximilian K.: Ich benutze auch Bascom, habe aber mit Assembler angefangen. Man lernt damit als Anfänger die Arbeitsweise des µC gründlicher kennen. Nicht gleich mit 7-Segmentanzeige. Nimm Dir so 3-5 LED und programmiere Spielereien nach Deiner Phantasie oder nach Lernbeispielen. Wenn Du das im Griff hast, kannst Du immer noch überlegen, ob Du mit Assembler weiter machst oder einer Hochsprache Deiner Wahl den Vorzug geben willst. Gruß, unikum.
Hallo... Soll ich jetzt wohl in C das Programmieren Lernen? Ich hatte basic gedacht weil ich mit Visual Basic Express schon viel gearbeitet habe... Wenn das mit C "einfacher" ist...bräaucht ich dann auch irgendwelche Quellen zum "lernen" mfg iMazze
Maximilian K. schrieb: > Hallo... Soll ich jetzt wohl in C das Programmieren Lernen? > Ich hatte basic gedacht weil ich mit Visual Basic Express schon viel > gearbeitet habe... Wenn Du unbedingt gleich mit Bascom loslegen willst, warum auch nicht, ist Deine Entscheidung und Literatur brauchst, versuch es mal hiermit: http://www.rowalt.de/. Das Buch hat mir sehr geholfen, zumahl Du auch über die Netzseite einen guten Überblick bekommst. Gruß, unikum.
Für erste Versuche reicht die Demoversion, die den vollen Funktionsumfang hat (aber teilweise etwas älter ist als die Vollversion). Die Vollversion ist jetzt auch nicht so teuer. Luna wäre eine kostenlose Alternative. Für den Einsteiger aber weniger zu empfehlen, da sich kaum jemand damit beschäftigt und Foren, Beispiele und Literatur rar sind. Die BASCOM-Hilfe an sich ist schon recht gut und ausführlich und ersetzt so manches Buch. Für fast alle Anwendungsfälle gibt es auch schon Beispiele im Internet bzw. bei entsprechenden Foren. Eine Siebensegmentanzeigenziffer ist wohl in allen Sprachen in etwa gleich schwer (bzw. leicht) zu programmieren.
uni kum schrieb: > das ist eine ungenaue, irreführende Aussage. > Bascom-Demo ist nur in der Dateigröße eingeschränkt, hat aber sonst > vollen > Funktionsumfang. Naja, das "nur" halte ich eben für relevant. Erst heute ist jemand damit an die Grenzen gestoßen und erhofft sich nun Hilfe bei der Portierung nach C, siehe hier (Beitrag "Umsteigen von Bascom auf C"). Außerdem scheint die Demo-Version auch nicht die neuste zu sein, siehe: Karl schrieb: > Für erste Versuche reicht die Demoversion, die den vollen > Funktionsumfang hat (aber teilweise etwas älter ist als die > Vollversion). Ich halte solche Bedingungen für unbrauchbar, wenn es um Werkzeuge zur Entwicklung von Software geht, vor allem, weil es mit C (oder Assembler) komplett und plattformübergreifend umsonst geht. Maximilian K. schrieb: > Soll ich jetzt wohl in C das Programmieren Lernen? Da wird es wohl keine allgemeingültige Antwort geben. Jemand der felsenfest davon überzeugt ist, dass Sprache X die einzig richtige Wahl ist, hat wohl noch einiges zu lernen. C ist unter anderem im Bereich der eingebetten Systeme gang und gäbe. Die Verfügbarkeit von vielen guten und kostenlosen Werkzeugen ist zumindest für mich persönlich ausschlaggebend. Noch dazu ist das alles Open-Source. Maximilian K. schrieb: > Wenn das mit C "einfacher" ist "Einfacher" wird wohl immer relativ bleiben. Dennoch halte ich persönlich C für "schöner" als Basic, wobei ich sicherlich keine sonderliche Expertise in Basic habe. Allerdings schadet es sicherlich nicht C zu erlernen. Im Zweifelsfall "kannst" du dann schon zwei Programmiersprachen ;). Betrachtet man die Tatsache, dass viele "moderne" Sprachen (stark) von C beeinflusst sind (unter anderem C++, Java, JavaScript, PHP, etc.), dann kommt man schnell zu dem Schluss, dass es im schlimmsten Fall nicht die ineffektivste Möglichkeit war seine Zeit zu verschwenden. Wie bereits gesagt, schadet es auch nicht seine ersten Gehversuche direkt mit Assembler zu machen. Dabei dürfte man wohl am Meisten über die eigentliche Architektur lernen und ein Verständnis dafür entwickeln wie ein solcher Mikrocontroller von "innen" funktioniert. Allerdings, so ist zumindest meine Erfahrung, dauert das einfach viel länger bis man da brauchbare Ergebnisse erzielt. Das kann mitunter ein wenig demotivieren. Insofern wäre meine Empfehlung tatsächlich C. Maximilian K. schrieb: > bräaucht ich dann > auch irgendwelche Quellen zum "lernen" Solltest du dich nun für C oder Assembler entscheiden, so findest du in beiden Fällen brauchbare Tutorials im Wiki (http://www.mikrocontroller.net/articles/AVR). Dort wird, wie bereits gesagt, auch die Ansteuerung von 7-Segment-Anzeigen erläutert.
Wenn es C sein soll bitte ERST die Sprache AM PC lernen und sich dann mit µP beschäftigen. Beides gleichzeitig führt idR nur zur Verzweifelung weil man nicht weiß wo der Fehler liegt. Auf dem PC hat man deutlich bessere Debugmöglichkeiten.
blub schrieb: > Beides gleichzeitig führt idR nur zur Verzweifelung > weil man nicht weiß wo der Fehler liegt. Und das ist bei Basic bzw. Assembler nicht der Fall? blub schrieb: > Auf dem PC hat man deutlich > bessere Debugmöglichkeiten. Auch das trifft auf jede x-beliebige Sprache zu ;).
Karol Babioch schrieb: > blub schrieb: >> Beides gleichzeitig führt idR nur zur Verzweifelung >> weil man nicht weiß wo der Fehler liegt. > Und das ist bei Basic bzw. Assembler nicht der Fall? Naja. Bei Bascom gibt es imho deutlich weniger Fallstricke weil die Sprache strikter und "geschwätziger" ist, bei C reicht schon ein vergessenes Sonderzeichen und nichts geht wie es soll. Assembler nimmt eine Sonderstellung ein (es ist im Gegensatz zu den anderen beiden keine Hochsprache). Die Syntax ist immer gleich: mnemonic mnemonic operand1 mnemonic operand1, operand2 sprungmarke: tu_was Dazu noch die .equ und .def vom Assembler und fertig, der Rest ist das Lernen (durch benutzen) der verschiedenen Mnemonics.
blub schrieb: > Naja. Bei Bascom gibt es imho deutlich weniger Fallstricke weil die > Sprache strikter und "geschwätziger" ist, bei C reicht schon ein > vergessenes Sonderzeichen und nichts geht wie es soll. Mein Compiler beschwert sich über falsche Syntax durchaus (mit Zeilennummer und Art des Fehlers). Damit lässt sich ein Syntaxfehler schnell finden. blub schrieb: > Assembler nimmt eine Sonderstellung ein (es ist im Gegensatz zu den > anderen beiden keine Hochsprache). Die Syntax ist immer gleich: Wobei man auch hier Makros und ähnliches definieren kann. Und auch hier kann man Syntaxfehler einbauen. Wobei das natürlich nicht ganz so einfach ist ;). Allerdings wird auch hier ein guter Assembler entsprechende Meldungen ausgeben. Gegen Fehler in der Programmlogik kann einem letztendlich natürlich kein Tool der Welt helfen. Und das völlig unabhängig von der Sprache. Insofern halte ich es für stark irreführend hier eine Sprache fehleranfälliger als eine andere darzustellen. Die Aussage aber, dass sich Mikrocontroller i.A. schwieriger debuggen lassen als Programme am Computer direkt, würde ich unterschreiben. Eine einfache Ausgabe von Inhalten der diversen Variablen ist bei Mikrocontrollern nicht so einfach möglich und erfordert im einfachsten Falle zumindest ein paar LEDs oder ein LCD (oder ähnliches).
@TS Wenn du dich jetzt doch für C entscheiden kannst, dann lerne C erstmal auf dem PC. Einfache Konsolenprogramme in C reichen völlig um C zu lernen und für die Programmierung der µC in der Programmiersprache C fit zu werden. Mit diesem Buch würde ich an deiner Stelle anfangen: http://www.amazon.de/C-Programmieren-Anfang-Helmut-Erlenkötter/dp/3499600749/ Und dann später, sofern du der englischen Sprache mächtig bist, C mit diesem Buch vertiefen: http://www.amazon.de/The-Programming-Language-ansi-Version/dp/8131704947/
Karol Babioch schrieb: > Die Aussage aber, dass sich Mikrocontroller i.A. schwieriger debuggen > lassen als Programme am Computer direkt, würde ich unterschreiben. Eine > einfache Ausgabe von Inhalten der diversen Variablen ist bei > Mikrocontrollern nicht so einfach möglich und erfordert im einfachsten > Falle zumindest ein paar LEDs oder ein LCD (oder ähnliches). Dann solltest du dir z.B. in AVR Studio einmal die Funktionen im Menü Debug ansehen und das Fenster "Watch". Ein Oszilloskop ist auch ein Debuging-Tool, auf das man beim µC nicht verzichten sollte. Auf dem PC gibt es ohne besondere Zusätze zum Betriebssystem gar keine Möglichkeit Echtzeitabläufe sinnvoll zu implementieren/debuggen.
Karol Babioch schrieb: > Ich halte solche Bedingungen für unbrauchbar, wenn es um Werkzeuge zur > Entwicklung von Software geht, vor allem, weil es mit C (oder Assembler) > komplett und plattformübergreifend umsonst geht. Man kann es dem Drei-Mann-Team von BASCOM wohl kaum übel nehmen, wenn es nicht die allerneueste Version zum Testen zur Verfügung stellt. Hälst Du eine Software nur für brauchbar, wenn Sie "umsonst" ist? Das ist nicht gerade professionell. BASCOM kostet übrigens weniger als 100 Euro. Im Hobbybereich hat man die frei Wahl der Programmiersprachen. Wenn er BASCOM lernen will, warum nicht. Die paar C-Befehle hat man wahrscheinlich genau so schnell gelernt, aber das ganze drumherum ist halt für den Hobbyprogrammiereinsteiger etwas mühsamer.
... schrieb: > Dann solltest du dir z.B. in AVR Studio einmal die Funktionen im Menü > Debug ansehen und das Fenster "Watch". Ein Oszilloskop ist auch ein > Debuging-Tool, auf das man beim µC nicht verzichten sollte. Das sind Werkzeuge, die ein Anfänger nicht zu bedienen weiß. ... schrieb: > Auf dem PC > gibt es ohne besondere Zusätze zum Betriebssystem gar keine Möglichkeit > Echtzeitabläufe sinnvoll zu implementieren/debuggen. Eine einfache Ausgabe von Variablen reicht oft doch schon völlig aus. Und dafür brauche ich keine besonderen Zusätze. Klar wird das bei zeitlichen Abhängigkeiten und im Kontext von Echtzeitabläufen komplizierter, aber ich habe mich in erster Linie auf den Einstieg bezogen. Karl schrieb: > Man kann es dem Drei-Mann-Team von BASCOM wohl kaum übel nehmen, wenn es > nicht die allerneueste Version zum Testen zur Verfügung stellt. Doch? Was spricht denn dagegen? Karl schrieb: > Hälst Du eine Software nur für brauchbar, wenn Sie "umsonst" ist? Gerade im Hobbybereich mit (jugendlichen) Einsteigern, halte ich das durchaus für ein Argument. Und den Betrag von 100 Euro kann man sehen wie man will. Für jemanden, der das Ganze kommerziell benutzt, ist das sicherlich kein Beinbruch. Andererseits kann sich ein Einsteiger daraus genau so gut Hardware kaufen. Ich bin einfach ein großer Verfechter von Open-Source. Das heißt nicht notwendigerweise, dass das eigentliche Produkt umsonst ist. In der Praxis trifft man allerdings nur selten auf Open-Source-Software, welche Geld kostet, da man sich die Software ja im schlimmsten Falle selbst kompilieren könnten bzw. dies i.d.R. schon jemand gemacht hat. Ein Beispiel hierfür wäre RHEL mit seinen "kostenlosen" Derivaten in Form von CentOS und Scientific Linux. Karl schrieb: > Im Hobbybereich hat man die frei Wahl der Programmiersprachen. Klar. Und es sei jeder dazu eingeladen. Karl schrieb: > Wenn er > BASCOM lernen will, warum nicht. Ich würde niemanden davon abhalten. Mein Argument könnte man eher in etwa so zusammenfassen: C ist in der Welt der eingebetten Systeme (und der Betriebssystemprogrammierung) verbreiteter. Daher nützt einem das insbesondere dann mehr, wenn man seinen Horizont später einmal erweitern möchte. Und da wir alle nur begrenzt viel Zeit in dieser Welt zur Verfügung haben, würde ich das Erlernen von C höher priorisieren. Karl schrieb: > aber das ganze drumherum ist > halt für den Hobbyprogrammiereinsteiger etwas mühsamer. Und was meinst du damit konkret?
Karol Babioch schrieb: > Und was meinst du damit konkret? Lass mal zwei Einsteiger ohne großartige Vorkenntnisse einen mit C und den anderen mit BASCOM "Hallo Welt" auf einem LCD ausgeben. Wer wird wohl schneller zum Ziel kommen? Ich persönlich finde die BASCOM-Lizenz jedenfalls nicht überteuert und man kauft auch nicht die Katze im Sack, da man es ja ausgiebig testen kann. Und da wir schon beim Geld sind: Frag mal den (jugendlichen) Einsteiger, was seine aktuelle Grafikkarte so gekostet hat. Karol Babioch schrieb: > Und da wir alle nur begrenzt viel Zeit in dieser Welt zur > Verfügung haben, würde ich das Erlernen von C höher priorisieren. Aus diesem Grund bin ich bei BASCOM gelandet. Ich habe aber beruflich nichts mit programmieren zu tun, sonst wäre es wohl auch C. Luna finde ich als kostenlose Alternative ebenfalls interessant. Aber für Einsteiger wohl noch weniger zu empfehlen als C oder BASCOM.
Karol Babioch schrieb: > Mein Argument könnte man eher in > etwa so zusammenfassen: C ist in der Welt der eingebetten Systeme (und > der Betriebssystemprogrammierung) verbreiteter. Daher nützt einem das > insbesondere dann mehr, wenn man seinen Horizont später einmal erweitern > möchte. Und da wir alle nur begrenzt viel Zeit in dieser Welt zur > Verfügung haben, würde ich das Erlernen von C höher priorisieren. Ich würde Assembler priorisieren, nur in Assembler lernst du den Mikrocontroller so richtig kennen... oder... warte... ich würde doch BASCOM priorisieren, weil man mit einer höheren Programmiersprache auch die Fehlerebene anhebt... oder... nein, Luna, weil das so schön neu ist! ;)
Karol Babioch schrieb: > blub schrieb: >> Naja. Bei Bascom gibt es imho deutlich weniger Fallstricke weil die >> Sprache strikter und "geschwätziger" ist, bei C reicht schon ein >> vergessenes Sonderzeichen und nichts geht wie es soll. > Mein Compiler beschwert sich über falsche Syntax durchaus (mit > Zeilennummer und Art des Fehlers). Damit lässt sich ein Syntaxfehler > schnell finden. Ich meinte sowas wie DDRB=(1<<PB3) statt DDRB|=(1<<PB3) oder Präprozessorkonstanten wo die Klammern fehlen usw. Da beschwert sich der Compiler nicht weil es ja syntaktisch korrekt ist. > Insofern halte ich es für stark irreführend hier eine Sprache > fehleranfälliger als eine andere darzustellen. Naja, ich denke schon C ist etwas anfälliger.
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.