Forum: Mikrocontroller und Digitale Elektronik Programmieren anfangen, aber wenig Ahnung und Fragen


von beinahe-student (Gast)


Lesenswert?

Hallo, Leute, ich weis, dass dieses Thema schon enige male dran war, 
dennoch habe ich noch ein paar spezielle Fragen:
Ich möchte auch mit Mikrocontroller-programmieren anfagen, habe aber 
noch keine Ahnung mit solchen.
Ich wollte vor allem wissen, ob ich dafür das Atmel-Evaluationsboard von 
Pollin Elekronik verwenden kann. 
(www.pollin.de->Bausätze->Diverse->ATMEL Evaluations-Board Version 2.0.1 
- Bausatz)
(zusammengelötet müsste ich es hinbekommen.)
und mit welchen Sprachen ich das nutzen kann.

Ich habe etwas Programmiererfahrung mit Purebasic und wollte eigentlich
beim Controllerproggen nicht unbedingt auf C oder Assembler umsteigen.
Ich habe etwas von basic-Compilern erfahren...

Geht das? oder brauche ich was anderes?
Bitte um zügige Antwort, am Wochenende geht die Pollin-Bestellung raus 
und bei uns bestellt so schnell keiner mehr.

von jack (Gast)


Lesenswert?

>Ich wollte vor allem wissen, ob ich dafür das Atmel-Evaluationsboard von
>Pollin Elekronik verwenden kann.

Ich vermute mal, daß Du Bascom verwenden willst. Damit kann man das
Pollin Board nicht ansprechen. Du mußt den Umweg über Ponyprog nehmen.

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Das Pollin-Board kann man benutzen. Es kann z.B. Vorteile haben, wenn 
mehrere die gleiche Hardware haben und Projekte tauschen können oder 
dezentral an einem gemeinsamen Projekt arbeiten. Wenn das nicht wichtig 
ist, kann man auch sich selbst was kleines schnuckeliges zusammenbauen 
z.B. nach der Anleitung im AVR Tutorial.

BASIC für AVRs gibt es. Mir sind nur kostenpflichtige Versionen bekannt 
(u.U. mit in der Codegrösse eingeschränkter Demoversion). BASCOM AVR 
oder FASTAVR sind geeignete Suchworte.

C und ASM haben den Charme, dass es auch kostenlose Versionen gibt und 
hier im Forum viele damit arbeiten und Hilfe geben können und wollen. 
Bei BASIC sieht das hier im Forum - warum auch immer, die Diskussionen 
pro/contra BASIC sind ein Quell ständiger Freude - anders aus.

von Dominique G. (dgoersch)


Lesenswert?

jack wrote:
>>Ich wollte vor allem wissen, ob ich dafür das Atmel-Evaluationsboard von
>>Pollin Elekronik verwenden kann.

> Ich vermute mal, daß Du Bascom verwenden willst. Damit kann man das
> Pollin Board nicht ansprechen. Du mußt den Umweg über Ponyprog nehmen.

Ich würde eher avrdude statt PonyProg nehmen, das lässt sich auch als 
Programmer in Bascom einrichten. Spart das manuelle Gehampel mit 
PonyProg.

Gruß
Dominiquue Görsch

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

@ beinahe-student (Gast)
> nicht unbedingt auf C oder Assembler umsteigen.
Was willst du denn beinahe studieren?
Evtl. ist da eine Programmiersprache dabei.
Und das ist dann ganz_sicher nicht Basic.
Warum also etwas lernen, nur um es gleich wieder zu vergessen?

von ecslowhand (Gast)


Lesenswert?

Genau, wenn Du denn bald ein Student bist und Dich mit Prozessoren 
befassen willst, solltest Du Dich vielleicht erst mal mit Assembler 
beschäftigen.
Dadurch lernst Du schon mal grundlegend, wie ein Prozessor einzelne 
Befehle abarbeitet und lernst die Funktionsweise des Prozessors besser.

Wenn Du dort etwas Durchblick hast, kannst Du Dich besser auf C als 
Programmiersprache stürzen.

Meiner Meinung nach solltest Du Dir lieber ein  STK500 zulegen. Damit 
besitzt Du direkt einen ISP-Programmer der perfekt mit dem kostenlosen 
AVR-Studio von Atmel zusammen arbeitet.

LG EC

von mr.chip (Gast)


Lesenswert?

Vergiss Basic. Beginne in Assembler. Nur so lernst du auch etwas über 
den Prozessor, und das ist bei Mikrocontrollern unglaublich wichtig. 
Wenns dann mit Assembler einigermassen läuft, steige auf C um. Die 
Syntax lernt man problemlos und mit Assembler im Hinterkopf versteht man 
dann auch, wie die Anweisungen funktionieren.

von beinahe-student (Gast)


Lesenswert?

Es ist so, ein STK500 ist - mir jedenfalls - zu teuer.
(bzw. wo kann ich sowas finden/kaufen und für wieviel?)
Meine größte Frage ist, mit welcher Software ich dieses Board "bedienen" 
kann. Ich hatte nämlich schonmal das Problem, dass ich zwar eine Platine 
hatte, aber nix damit anfangen konnte, weil die Software nicht 
mitgemacht hat.

Was BASIC angeht, ich müsste wohl alles soweit drauf haben, dass ich 
wenigstens etwas damit anfangen kann. Meiner Meinung ist BASIC einfach 
übersichtlicher und vor allem bei PC-Programmen, etwas verständlicher, 
wenn man den Code ansieht.(Aber das ist ja hier nicht Thema)

Auf jeden Fall, wenn ich das Ding bestell, mit was kann ich dann einen 
uC programmieren, und was brauche ich noch dazu???
Ich habe eigentlich keine großen Ansprüche, ich wollte eigentlich 
erstmal nur mit den Funktionen rumspielen, um mal reinzukommen.
(außerdem baut mein Bruder gerade irgendwas und könnte dabei etwas 
uC-Unterstützung gebrauchen, in der Richtung, einige LEDs in 
verschiedenen Abständen blinken lassen, bei Knopfdruck etwas anderes 
einschalten, usw...)

Deshalb wollte ich auch erstmal nicht allzu viel Geld ausgeben, denn 
wenn es nix wird, ist nicht so viel Geld verloren.

von tt (Gast)


Lesenswert?

Vergiss den Basic Kram. Damit legst du dich zu sehr fest. Das Gibt es so 
nur für den AVR. C-Compiler gibt es für nahezu alle µC. Ich mache das 
professionell und kann mit meinen C-Kentnissen problemlos zwischen 
AVR,PIC,ARM,8051,Renesas wechseln. Du kannst nicht davon ausgehen daß du 
immer nur AVRs programmierst. Mach es wie im Thread oben schon 
angegeben. Lerne ein wenig Assembler um zu verstehen wie der µC(AVR) so 
arbeitet und Wechsel dann zügig zu C. Um dich international verständlich 
zu machen lernst du ja auch nicht zb. Ukrainisch sondern Englisch.

STK500 mit AVR-Studio und WinAVR ist ein einfacher, frustfreier Einstig 
weil du Hardware und Softwareprobleme auschließen kannst. Das ist bei 
den meisten Bastellösungen nicht so.

von jack (Gast)


Lesenswert?

>Auf jeden Fall, wenn ich das Ding bestell, mit was kann ich dann einen
>uC programmieren, und was brauche ich noch dazu???

Steht doch schon alles weiter oben:

Board + AVR-Controller kaufen
BASCOM AVR installieren (0 €)
AVRdude installieren (0 €)
und loslegen.

Ach ja, noch was: C und Assembler fürs erste vergessen.

von Detlev T. (detlevt)


Lesenswert?

Wenn du schnelle Erfolgserlebnisse willst, wäre vielleicht auch ein AVR 
Butterfly eine Möglichkeit. Da hat man Anzeige, Lautsprecherchen, 
Sensoren etc schon drauf. Programmiert wird über eine 
RS232-Schnittstelle und da kann man den Prozessor nicht so leicht durch 
falsche Konfiguration unbrauchbar machen. Für einen eher 
"traditionellen" Zugang von der Pike auf, empfehle auch ich das STK500.

Wenn du Student bist, solltest du dir einmal den Thread 
Beitrag "Atmelprodukte für Studenten bis zu 50% billiger" ansehen. Es gibt nämlich 
(nur für Studenten) dort sehr günstige Angebote. (Butterfly 11.90€, 
STK500 39,90€) Vielleicht gibt es die ja auch für "Beinahe-Studenten". 
Einfach 'mal anfragen.

Als Programmierumgebung empfehle ich AVR-Studio von Atmel mit WinAVR 
(GCC-Compiler). So schwer ist C nun auch nicht und man hat dadurch 
Zugriff auf viele bereits existierende Quelltexte.

von Stefan B. (stefan) Benutzerseite


Lesenswert?

jack hat geschrieben:

> Steht doch schon alles weiter oben:
>
> Board + AVR-Controller kaufen
> BASCOM AVR installieren (0 €)
                           ^^^ bei der Demo!
> AVRdude installieren (0 €)
> und loslegen.

Und einen PC mit klassischer serieller Schnittstelle brauchst du auch 
noch, um den simplen ISP auf dem Pollin-Board anzusprechen. USB nach 
seriell Konverter gehen da nicht.

Wenn du Fheler beim ISP einschränken willst, kannst du dich nach einem 
ISP-Adapter für den Parallelport (wenn der PC einen solchen hat) oder 
für USB (die Zukunft) umsehen.

von ecslowhand (Gast)


Lesenswert?

Nimm bloss das STK500 !

Das bekommst Du relativ günstig.

Dort kannst Du viel mehr einstellen, wie bspw. Referenzspannung, 
Taktfrequenz, etc.

Wenn Du dann irgendwann mal keine Lust mehr hast, kannst Du es 
wenigstens gut wieder verkaufen.

Und fange mit Assembler an, lass die Finger von Basic !

EC

von Johannes M. (johnny-m)


Lesenswert?

Programmiersprache und Hardware haben zunächst mal nichts miteinander zu 
tun. Alle Compiler/Assembler erzeugen als Output eine Hex-Dateib 
(vorausgesetzt, sie sind entsprechend konfiguriert), die von einer 
beliebigen Programmiersoftware verarbeitet werden kann. Ob das Programm 
an sich nun in BASCOM, C oder Assembler geschrieben wurde, ist der 
Hardware völlig wurscht.

Das STK500 kann über das kostenlos erhältliche AVRStudio programmiert 
werden. Das Pollin-Board wird über PonyProg programmiert (ebenfalls 
kostenlos, allerdings nicht ganz unproblematisch, da u.a., wie oben 
schon erwähnt, eine echte RS-232-Schnittstelle am Computer 
erforderlich ist). Mittlerweile ist das STK500 afaik recht günstig zu 
bekommen, und selbst, wenn man jetzt sagt "Ist mir zu teuer", es lohnt 
sich!

von Hubert G. (hubertg)


Lesenswert?

Also das STK500 ist sicher die dauerhaftere Lösung und €70,- sind sicher 
nicht zuviel für ein Board und Programmer in einem. Du brauchst nur mehr 
ein Steckernetzteil 12V 500mA und eventuelle einen USB-Serial Adapter.

von David (Gast)


Lesenswert?

Basic ist wohl eher ein zustand als eine programmierspache...
die frage ist, was wils du?
wilst du kurz eine applikation für etwas bestimmtes schreiben, oder 
wilst du dir bereits gewisse kentnisse aneignen... wenn man einenm uP 
programmiert, ist es essentiel, dass man die hardware und deren 
funktionsweise versteht. wenn man in assambler programmiert (naja ausser 
zu lernzwecken selten sinnvoll) ist man gezwungen sich näher mit der 
hardware zu befassen, man muss faktisch vertehen was man macht, sonst 
funktioniert gar nix... das lehrreichst aber auch das unübersichtlichste 
und komplizierteste wärs...

von mr.chip (Gast)


Lesenswert?

> in assambler programmiert (naja ausser
> zu lernzwecken selten sinnvoll)

Selten ja, aber wenn, dann ist es halt schon das Non-Plus-Ultra. Ein 
Mikrocontroller-Programmierer sollte soviel Ahnung von Assembler haben, 
dass er es im Bedarfsfallen einzusetzen weiss.

von Johannes M. (johnny-m)


Lesenswert?

@David:
Wenn man nicht mal "Assembler" richtig schreiben kann, sollte man 
vielleicht den Ball etwas flacher halten. Hast Du selbst jemals in Basic 
programmiert?

Ich persönlich bin mittlerweile auf dem Standpunkt angelangt, dass man 
auch mit BASCOM und verwandten durchaus programmieren kann, wenn man 
sich die Mühe macht, auch mal die Dokumentation (die zweifelsohne 
existiert) zur Hand zu nehmen und es wirklich zu lernen und nicht 
wegen jedem kleinen Problemchen sofort irgendwelche Foren zu bemühen. 
Ist hier schon mehrfach erwähnt worden: BASCOM gäbe es wohl kaum, wenn 
keiner damit was gescheites hinbekäme. Assembler ist ne feine Sache, um 
die Hardware wirklich kennenzulernen, aber eine Hochsprache (auch 
Basic) ist kein Grund, sich nicht mit der Hardware auseinandersetzen 
zu müssen! Und für manche Anwendungen, bei denen es hauptsächlich darauf 
ankommt, schnell zum Ziel zu kommen, kann eine Sprache, die dem 
Programmierer vielerlei Dinge abnimmt, sinnvoll sein. Wenn es dann mal 
an komplexere Anwendungen geht, kann man immer noch auf C o.ä. 
umsteigen. Wenn man bisher nur Basic-Sprachen kennt (die aufgrund des 
Nichtvorhandenseins eines allgemein anerkannten Standards alle ziemlich 
große Unterschiede zueinander aufweisen), dann ist es zunächst mal 
naheliegend, sich erst mal auf mehr oder weniger bekanntem Terrain an 
die Sache heranzutasten und nicht gleich in die absoluten Abgründe 
hinabzusteigen.

Für Leute wie David ist C aber sowieso nichts, weil C Case-sensitiv 
ist...
SCNR

von Marvin M. (Gast)


Lesenswert?

Ich sehe auch keinen Grund, weshalb Basic respektive Bascom so 
verteufelt wird. Für den Einstieg in die µC-Welt ideal, weil schnell 
Erfolgserlebnisse da sind. Später auf eine andere Programmiersprache 
umsteigen kann man immer noch - soviel Flexibilität sollte man erwarten 
können.
Ich schreibe beispielsweise auch fast alle meine PC-Programme in 
Purebasic, während ich auf dem µC in C programmiere.

von beinahe-student (Gast)


Lesenswert?

Ich weis, es klingt knausrig, aber selbst wenn ich bei 
www.eproo-student.de ein STK500 kauf, wäre es immernoch etwa doppelt so 
teuer wie wenn ich das vom Pollin bestell.
Die Problematik mit der seriellen Schnittstelle besteht bei mir nicht, 
ich hab noch einen alten PC mit 2 seriellen Ports und einem parallelen, 
auch wenn ich an diesem schon was dran hab.
Also, kurze Zusammenfassung, was ich hier im Forum darüber mitbekommen
(und gepeilt!) hab:

entweder:
Pollin-Board + Ponyprog + entweder Bascom-AVR,AVR-Studio oder WinAVR + 
Controller + Kabel
->losprogrammieren für ~25€
(14,95€ + 0€ + 0€ + ~5€ + ~5€(serielles kabel))
in BASIC, Assembler oder C (laut Pollin-Beschreibung).

ODER:
STK500 von eproo-student.de + Controller
->losprogrammieren für ~45€ (40€ + ~5€)
aber nur in C oder Assembler

Oder kann man für das STK500 auch Basic-Programmiersprachen verwenden?
Denn in was man schreibt, kann man ja schon noch ändern.
Johannes M. hat da irgendwas in diese Richtung erzählt.
Wenn ja, würde ich eher in Richtung des STK500 tendieren...

@Marvin M.
Hey! Endlich mal jemand, der auch in Purebasic schreibt! ;)

von Hubert G. (hubertg)


Lesenswert?

Womit du deinen *.hex Code erstellst ist deine Sache.
BASCOM ist nur in der Demo-Version gratis, das AVR-Studio zur gänze 
gratis. Beide unterstützen das STK500.
Wenn du einen anderen Compiler verwendest musst du eventuell Umwege zum 
Programmieren machen.

von beinahe-student (Gast)


Lesenswert?

???
Also erstellen Bascom-AVR,AVR-Studio und WinAVR erstmal eine Hexdatei, 
die dann and die Platine geschickt wird, oder hab ich das jetzt falsch 
verstanden?

von Johannes M. (johnny-m)


Lesenswert?

beinahe-student wrote:
> Ich weis, es klingt knausrig, aber selbst wenn ich bei
> www.eproo-student.de ein STK500 kauf, wäre es immernoch etwa doppelt so
> teuer wie wenn ich das vom Pollin bestell.
Du solltest Dich aber trotzdem mal informieren, was das STK500 alles 
kann, was mit dem Pollin-Board nicht möglich ist. Das STK500 unterstützt 
eine ganze Reihe Programmiermethoden (alle, bis auf die 
Debug-Schnittstellen JTAG bzw. dW), mit denen man auch AVRs "retten" 
kann, bei denen man den Reset-Pin weeggefused hat. Außerdem unterstützt 
das Pollin-Board nur eine Handvoll AVRs der mittleren Leistungsklasse, 
während das STK500 alle AVRs im DIP-Gehäuse (inkl. der kleinen 
8-Pinner, die für viele Anwendungen sehr gut einsetzbar sind) 
unterstützt. Das STK500 ist daneben auch als ISP-Programmer verwendbar, 
so dass man die AVRs auch in einer beliebigen (selbstgebauten) 
Zielhardware programmieren kann.

Das Pollin-Board ist mit dem STK500 absolut nicht vergleichbar! Das sind 
zwei völlig unterschiedliche Konzepte.

von Johannes M. (johnny-m)


Lesenswert?

beinahe-student wrote:
> ???
> Also erstellen Bascom-AVR,AVR-Studio und WinAVR erstmal eine Hexdatei,
> die dann and die Platine geschickt wird, oder hab ich das jetzt falsch
> verstanden?
Das hatte ich weiter oben schon alles beschrieben!
Beitrag "Re: Programmieren anfangen, aber wenig Ahnung und Fragen"

Und nein, die Hex-Datei wird nicht an das Zielsystem geschickt. Sie wird 
von der Programmiersoftware in Binärdaten "umgewandelt", und diese Daten 
werden an den µC geschickt. Das (Intel-) Hex-Format ist aber 
einheitlich, so dass jede Programmiersoftware, die AVRs unterstützt, die 
Informationen verarbeiten kann, unabhängig davon, wo die Hex-Datei 
ursprünglich herkommt.

von Hubert G. (hubertg)


Lesenswert?

Genau so ist es, jeder Compiler erstellt die für den µC geeignete *.hex 
Datei. Die entsprechenden Einstellungen musst du natürlich vornehmen. 
Wenn der Compiler in einem geeigneten Tool, das mit dem STK500 
zusammenarbeitet,  integriert ist, wie eben z.B. das AVR-Studio, dann 
kannst du diesen *.hex Code gleich in den µC übertragen.

von Martin (Gast)


Lesenswert?

Hallo,
ich habe ein Pollin Board zu verkaufen.

1. zusammengelötet
2. gestestet
3. Atmega8 dabei
4. LCD 2x16 mit Hintergrundbeleuchtung dabei
5. 22Euro + verdand

Gruß
Martin

von Florian (Gast)


Lesenswert?

Vergiß den ganzen Scheiß hier!

Und fang einfach an.


Wie mich das Oberschulmeisterliche gesülze ankotzt, ob Basic C oder 
Assembler und dieses oder jenes Board toll ist. Es ist SCHEISSEGAL! Ja 
echt. Der Untergang des Abendlandes sieht anders aus und wird nicht 
beschleunigt, wenn Du eine "falsche" Sprache lernst.
Du wirst am Anfang so oder so das falsche kaufen und dann noch was 
anderes und dann vielleicht DEINEN Weg finden - wenn Dich die Sache so 
lange fasziniert, war es den Umweg wert und Du hast richtig viel 
gelernt.

Nimm ein ATmega8 oder sonst was billiges ein paar Drähte und ein 
Experimentiersteckboard. Und wenn Du später feststellst, daß auch der 
ATmega falsch war und ein XYZ besser ist: was soll's hat alles zusammen 
3,50 gekostet (das Steckbrett braucht man immer). Im Web findest Du 
endlos viele Anleitungen. Und wenn Du eher der Typ bist, der es nett 
aufbereitet haben will, kauf Dir noch ein Buch (für Anfänger!). Auch das 
ist letztendlich keine Fehlinvestition, denn es kann nichts Schaden über 
den Tellerrand gekuckt zu haben.

Auto fahren lernt man auch nicht, in dem man erst einmal über den 
Fahrzeugtyp diskutiert und dann über die Spritfrage, sondern in dem man 
einsteigt. Zumal es nicht DAS Auto gibt (auch wenn es da einen Konzern 
gibt, der das behauptet). Es gibt nur das beste Auto und das ist MEINS!

von Dominique G. (dgoersch)


Lesenswert?

Florian wrote:
> Vergiß den ganzen Scheiß hier!
Du meinst den in deinem Post? Absolut!

> Du wirst am Anfang so oder so das falsche kaufen und dann noch was
> anderes [...]

Auch wenn es nicht in dein Weltbild passen wird: Fehlkäufe und 
Fehlentscheidungen lassen sich besonders gut durch Recherche und 
Beratung verhindern.

Gruß
Dominique Görsch

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.