Forum: Mikrocontroller und Digitale Elektronik Sprache Basic erlernen?


von Dominic Biehler (Gast)


Lesenswert?

Hallo
Ich bin ein Anfänger und möchte die Sprache Basic erlernen.
Darum möchte ich fragen ob jemand mir jemand unterlagen hat oder eine
Seite empfehlen kann.

von Christian (Gast)


Lesenswert?

Wofür Basic ?

Wenn Du eh neu Anfangen mußt, dann entweder ASM oder C/C++

Mit Basic verhaspelt man sich irgendwann (zumindest im PC bereich) und
stößt sehr schnell an die Grenzen von Basic ...

Ich verwende den PICC Lite Compiler unter MPLab (PICs)...


Christian

von ThomasB (Gast)


Lesenswert?

Hallo Dominic:
BASCOM AVR ist ein sehr guter Basic Compiler für AVR-Risc MCU
Wie man macht,siehst du hier.
http://www.rowalt.de/mc/

von Matthias (Gast)


Lesenswert?

Hi

mit Basic versaut man sich seinen Programmierstil. Zumindest meinen hat
es ne Weile ziemlich versaut. Basic verleitet aus mir unbekannten
Gründen zu Spagetticode. Also wenn anfangen dann mit C oder besser noch
ASM. Basic lernt man hinterher in 2 Minuten.

Matthias

von Markus Kaufmann (Gast)


Lesenswert?

@Christian: Man soll Basic auf dem Microcontroller meiden, weil man sich
da bei nicht-Microcontrollerprojekten leicht verhaspelt?

@Matthias: Man erlernt also mit Assembler einen besseren
Programmierstil als bei Basic? Kann ich nicht nachvollziehen.

Ich halte Bascom ebenfalls für eine gute Wahl. Gerade die vielen
vorgefertigten Funktionen beschleunigen die Entwicklung enorm. Während
man in Assembler noch die Beschreibung vom USART liest hat man in Basic
schon lange ein lauffähiges Programm.

Markus

von Matthias (Gast)


Lesenswert?

Hi

genau. Weil man muß. ASM-Spagetticode kapiertst du in 4 Wochen selber
nicht mehr.

Matthias

von Thorsten (Gast)


Lesenswert?

Ein lauffähiges Programm schon, aber du hast keine Ahnung was dahinter
steckt. Es ist viel spannender, ein Problem selbst zu lösen und in Code
umzusetzen. Nur so kann man später davon profitieren und Probleme
lösen, für die es keine vorgefertigten Funktionen gibt. Im laufe der
Zeit entsteht dann eine eigene Funktionsbibliothek.

Meiner Meinung nach macht es keinen Sinn, Basic zu lernen. Erst
Assembler und dann C ist nicht schlecht. Im Übrigen hab ich mal ein
Bascom-Programm gesehen, einfach grauenvoll (Syntax) ! Hab auch noch
kein Profi kennen gelernt, der in Basic programmiert.

Gruß
Thorsten

von Markus Kaufmann (Gast)


Lesenswert?

@Matthias: Aber das bedeutet doch, daß Basic von Haus aus viel lesbarer
als Assembler ist. Dann kann man mit ein bischen Strukturierung viel
verständlicheren Code als in Assembler schreiben.

@Thorsten:
Natürlich ist es interessant ein Problem selbst zu lösen, aber mein
eigentliches Ziel ist ja nicht ein Display oder RS232 zum laufen zu
bekommen. Das sind nur Teilprobleme. Mit ist es wichtiger, daß ich mein
eigentliches Problem schnell und einfach lösen kann, als daß ich über
jedes einzelne Elektron in meiner Schaltung Bescheid weis.

Außerdem sind Assembler und C gerade die Sprachen, die nicht für
Anfänger geeignet sind. Erklär doch mal Typprüfung in Assembler oder
Call by Reference in C.

Du kennst keinen Profi der in Basic programmiert? Na und, ich kenn auch
keinen Profi der in Assembler programmiert. Sagt das also was über
diese Sprachen oder über unseren Bekanntenkreis aus?

Moment mal, da fällt mir ein, ich bin ja selber Profi. Ich hab'
beruflich 4 Jahre lang C++ programmiert. Und trotzdem (oder gerade
deswegen) halte ich Bascom für die bessere Wahl für einen Anfänger.
Vielleicht habe ich auch einfach nur zu viele Anfänger an C scheitern
sehen.

Markus

von Bernd Schmidt (Gast)


Lesenswert?

Was bitte soll denn ein Profi sein ?

Ich programmiere seit 20 Jahren (meist in Basic, aber auch Assembler,
Cxx, Forth, Pascal, SPS und was was ich noch). Bin ich deshalb ein
Profi ? Oder bin ich keiner weil ich Basic programmiere ?

Zugegeben verleitet Basic zum drauflosprogrammieren. Das in den Griff
zu bekommen ist aber nur eine Sache der eigenen Disziplin. Das gilt
allerdings für ALLE Sprachen.
Ein Programmcode ohne Kommentar halte ich für wesentlich schlimmer wie
die eingesetzte Programmiersprache.

Die Diskussion über "Spagetti"-Basic ist aber schon so alt wie die
Sprache selbst. Nur war es früher die Pascal-Fraktion die
darüberhergezogen ist.
In 10 Jahren werden es dann wohl die Java Jünger sein :-)

Bernd

von Marko B. (Gast)


Lesenswert?

Hier hilft uns, wie so oft, die Weisheit des Tao of Programming weiter:

There once was a master programmer who wrote unstructured programs. A
novice programmer, seeking to imitate him, also began to write
unstructured programs. When the novice asked the master to evaluate his
progress, the master criticized him for writing unstructured programs,
saying, "What is appropriate for the master is not appropriate for the
novice. You must understand the Tao before transcending structure."

http://www.canonical.org/~kragen/tao-of-programming.html

von Darko Sabljo (Gast)


Lesenswert?

Hi

hmm.. also ich sags mal so... um die Funktion von einem µC zu verstehen
würd ich aufjedenfall mit Assembler anfangen!!
Es ist ja schön und gut das es bei Basic oder manchen C Compilern
vordefinierte Funktionen gibt... Nur was mach ich wenn ich mal ein
Problem hab, das nicht in einer Funktion steckt...dann sollte man halt
schon wissen, wie, was in dem Teil funktioniert.. und das is bei einem
AVR denk ich mal auch nicht soo komplex hier Assembler als Anfang zu
nehmen.
grüssle
darko

von Markus Kaufmann (Gast)


Lesenswert?

@Darko:
Es ist keine Frage, daß man mit Assembler den µC am besten kennenlernt.
Es ist aber auch keine Frage, daß es viel schwieriger ist.
Insbesondere für einen Anfänger.

Wenn man ein Problem hat, das nicht durch die vorgefertigten Routinen
abgedeckt wird, dann löst man es. Aber erst dann!

Bei einem meiner ersten Projekte hab' ich ein Kommando von der
Fernbedienung eingelesen, auf dem Display dargestellt und per RS232 an
den PC geschickt. Das GetRC5-Kommando hat nicht funktioniert, weil die
Fernbedienung kein RC5 spricht. Also hab' ich das Dekodieren eben
selber programmiert. Aber eben nur das IR-Dekodieren, nicht die
RS232-Ansteuerung und auch nicht die LCD-Ansteuerung. Dadurch konnte
ich mich eben auf das eigentliche Problem konzentrieren, anstatt das
Rad zum 100. mal neu zu erfinden.

Markus

von Gerd Schroer (Gast)


Lesenswert?

ich melde mich hier als anfänger auch mal zu wort...

die erste sprache mit der ich kontakt hatte, war damals auf dem c64
basic. als nächstes hatt ich nen atari und habe mich an pascal
herangewagt, bin aber ganz schnell wieder auf das vertraute basic
zurückgefallen, weil ich mit pascal nicht zurechtkam.
nach ein paar jahren ruhe habe ich auf meinem pc wieder angefangen zu
programmieren, und habe mich an c bzw. c++ versucht. auch damit kam ich
nicht allzu weit, vor allem da ich bald vb in die finger bekam. und
jetzt sitze ich hier mit meinem avr und ratet mal in welcher sprache
ich meine programme schreibe...
@dominic:
um es kurz zu machen: bascom ist nicht schlecht, verursacht meiner
meinung nach jedoch recht grossen code.
wenn du ernsthaft programmieren willst, versuch es mit c. und bleib
hart. auch wenn es dir schwer fällt, denn wenn man einmal wirklich mit
basic versaut ist, wirds hinterher noch schwieriger auf was anderes
umzusteigen.

genug jetzt

grus
gerd

von Hans (Gast)


Lesenswert?

Ich habe fast genau wie Gerd angefangen. Bei mir war es erst ein
Sinclair Spectrum dann kam der C64/128, Amiga und der PC. Auf allen
Systemen habe ich in Basic programmiert, da es für meine Ansprüche
ausreichend war und C für mich zu hoch war. D.h. die Syntax von C ist
mir ein bischen abstrakt.
Als ich mit den AVR's anfing habe ich mir die gleiche Frage wie
Dominic gestellt und verschiedene Sprachen mit deren Vor- und
Nachteilen angesehen. Letztendlich habe ich mich dann für ASM
entschieden, da man mit der Sprache direkt und ohne Umwege mit dem
Controller komunizieren kann. Manchmal ist es einwenig umständlich bei
etwas umfangreicheren Projekten, aber damit kann ich leben.
Bei meinen aktuellen Projekten reicht ein 8Bit'ter nicht mehr aus, so
das ich mich für ein C167 entschieden habe. Jetzt stehe ich wieder vor
der Entscheidung welche Programmiersprache ich erlernen soll.
Eigentlich steht meine Entscheidung schon fest. Ich komm nicht drum
herum C zu erlernen, da diese Controller deren Anwendungen es
verlangen. Aber ich werde trotzdem in C weiter kleine Aplikationen wie
z.B. CAN- und Urat-Interface, sowie allgm. I/O Funktionen in ASM mit in
das Program einbinden.

Lange Rede kurzer Sinn... Du wirst füher oder später nicht um die
Programmiersprache C herum kommen. Also warum nicht gleich damit
anfangen.

Schönen Gruß... Hans

von A. Arndt (Gast)


Lesenswert?

Hallo,

dieses Thema ist hier viel verbreitet, nun noch mein Senf dazu:

Ich nutze auch Basic, ist mir seit C-64 geläufig, es gibt viele Tools
und man kann fast Funktion der AVRs ausschöpfen, z.B. Displayausgabe,
RC-5, I2C, Dallas 1-Wire, alles intergriert im Compiler.

Da ich auch C-Control-Umsteiger bin finde ich Basic ok, man kann es
sich ja auch übersichtlich programmieren.

Warum soll ich mich im einzelnen mit Registern beschäftigen uvm., ASM
ist dermassen trocken und als Einsteiger kann man bei dem Anblick der
Programme leicht die Lust verlieren.

Trotzdem :

Jeder nimmt das, was er beherrscht und wenn die Leistung ausreicht (an
Grenzen stossen...) ist es doch ok mit Basic.

Ich hatte auch an einen Umstieg zu C gedacht, aber das ist mir viel zu
aufwändig.

Im übrigen gibt es hier viele Studenten und Angestellte aus der Branche
Informatik u.ä., die verdienen damit Ihr Geld, aber ich als Bastler
habe keine Lust stundenlang z.B. in ASM rumzudoktern...

Gruss
A. Arndt

von Karl Dabsch (Gast)


Lesenswert?

hi!

ich bin auch relativer anfänger mit avrs und bin vor der selben
entscheidung gestanden. programmieren in basic, c oder assember.  mein
erstes project habe ich mit bascom basic gemacht.  das ist ein gutes
basic mit einer guten oberfläche.  die avrs sind leicht zu programmiern
und die hardware dazu ist leicht zu machen und kostengünstig.

die nachteile:

1.) der bascom kostet.  die kostenlose version mit seinen 2 kb limit
ist nur für die kleinsten projecte genug.

2.) der code ist sehr groß.  ich mußte kämpfen um in den 2313 alles
reinzubekommen was ich wollte. (hab ich auch nur zum teil geschafft.)

jetzt fange ich mit assember (studio 4) von atmel an.  es ist zwar eine
umstellung, aber nicht so schwer wie ich gedacht habe.  sogar meinen
kleinen programmierer kann ich weiterverwenden.

mein rat: gleich mit assembler anfangen.

mfg
Karl Dabsch

von A. Arndt (Gast)


Lesenswert?

Hallo,

ich nehme FASTAVR, das macht einen kleineren Quellcode und kann mit 6
Zeilen einen Text ins Display "zaubern".

Gruss
A. Arndt

von Daniela Sabljo (Gast)


Lesenswert?

Hy

Ja sam Daniela iz Kufsteina!

Ich komm aus Rama und wollt mal fragen ob wir vielleicht verwandt sind?

Heißt dein Vater vielleicht Marko? Weil dann ist er von meinem Vater der 
Onkel.

Wäre super wennst dich meldest!

Dani

von Robert (Gast)


Lesenswert?

naja wenn man die funktion des controllers versteht (naja zumindest für 
mich ist da ein bisschen rumspielen mit assambler oder C nötig...) ist's 
wohl je nach projekt sinnvoll die entsprechende Sprache auszuwählen...

von Aufreger deluxe (Gast)


Lesenswert?

> Wäre super wennst dich meldest!

LOL...nach drei Jahren...LOL

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.