www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Probleme mit Bascom


Autor: Jan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallöchen !!

Sagt mal, warum kommt hierbei ein Fehler ?

Dim X As Word
Dim Y As Word
Dim Z As Word
Dim T As Word

T = X + Y + Z    <Fehlermeldung (Error 35) : 3 Parameters Expected


Weiß jemand warum ?

Gruß
Jan

Autor: emil (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
......

Dim X As Word
Dim Y As Word
Dim Z As Word
Dim T As Word

T = X + Y
T = T + Z

.....

das geht schon :-)))

das gehemnis verrate ich nächstes mal :)))

Autor: Jan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja, so hab ich das dann auch gelöst.

Aber warum ist das so ?

Ich meine in Basic kann man doch sonst auch ohne Probleme
mehrere Variablen z.b. addieren. Oder auch komplexere Operationen
durchführen. (Klammern, ....)


Und bei BASCOM jeden Rechenschritt einzelnd ? Warum ?

Jan

Autor: Metty (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sicher!

Aber Du vergißt, das Bascom ja alle Rechenoperationen wieder in
Maschienensprache wandeln muß.

Und in Assembler kannst Du halt immer nur zwei Zahlen zusammen zählen.

Also orientiert sich Bascom lediglich an dieser Einfachen Grundregel.
(Somit ist auch nachvollziebar, was Bascom hinterher an Hex-Code draus
bastelt.

Gruß
Metty

Autor: Markus Kaufmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Jan:
Der Bascom-Compiler ist in Bezug auf die Sprache nicht so der Hit. Auch
FastAVR hat mich da nicht überzeugt.

In dieser Hinsicht ist z.B. der Gnu C-Compiler wesentlich
leistungsfähiger, auch was Optimierungen auf Sourcecodeebene angeht.

Es kann aber natürlich nicht jeder C und durch die große
Klassenbibliothek macht Bascom die Schwächen in der Sprache locker
wieder wett. Den idealen Compiler (auch finanziell) scheint es leider
nicht zu geben...

Markus

Autor: thkais (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mal im Ernst: Wer für einen Mikrocontroller eine Programmiersprache mit
allen Schikanen erwartet...
Ein paar Abstriche muß man halt machen.

Autor: formtapez (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
tja so ist das nunmal ... aber eine ordentliche fehlermeldung in bascom
wäre echt hilfreich. ich stand mal vor dem selben problem mit dem
addieren und dachte gleich das wär ein bug.

MfG
formtapez

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"Programmiersprache mit allen Schikanen"... man wird doch wohl
erwarten können, dass so simple Formulierungen wie a = b + c + d
richtig behandelt werden? Das darf man wohl getrost als Bug betrachten
und an den Hersteller melden.

Autor: Markus Kaufmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@thkais:
Mir ist klar, daß z.B. viele Features in C++ relativ "teuer" sind,
deswegen erwarte ich auch keinen ordentlichen C++-Compiler, aber
bereits der Basic-Interpreter im C64 konnte mehrere Zahlen gleichzeitig
addieren. Immerhin läuft der Compiler nicht auf dem AVR, sondern auf
dem PC.

@Andreas:
Das ist wohl "broken as designed". Mir kommt es so vor, als ob
der/die Bascom-Programmierer mehr Ahnung von Microcontrollern als von
Compilerbau haben.

Markus

Autor: Bernd Schmidt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Markus
Der Basic Interpreter im C64 dürfte auch wesentlich mehr
Entwicklungszeit hinter sich haben als BASCOM. Ausserdem ist es nur ein
Interpreter. Wenn ich mich nicht irre war der sogar von M$.
Die stärken von Bascom sind meiner Meinung nach auch nicht die perfekte
Übersetzung von Programmen sondern die Unterstützung der AVR
Peripherie. Falls man Basic mag kommt man mit den Macken des Compilers
ganz gut klar. Allerdings sollte man auch alle Informationsquellen
nutzen (Hilfedatei, Mailinglisten usw.).

@Andreas
Dieser "Fehler" ist bereits bekannt. Es wird immer nur eine Anweisung
pro Zeile umgesetzt. Ist allerdings kein Problem weil die
Ketteninstuktionen ebenfalls Stück für Stück umgesetzt werden. Man muss
halt nur ein bischen mehr schreiben.

Gruss
Bernd

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Entwicklungszeit ist hier wohl keine Ausrede, jeder Anfänger kann eine
Compilergrammatik (ab)schreiben die mit solchen Formulierungen zurecht
kommt. Bei einem Interpreter hätte ich es ja gerade noch verstanden...

Was macht Bascom denn bei a = (b + c) + d?

Autor: Markus Kaufmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@andreas:
Auch das sind zuviele Operatoren.
Wenn ich die Fehlermeldungen richtig deute, dann versucht er hier
irgendwas mit Arrays. Klar - wenn man keine komplexen Ausdrücke hat,
dann braucht man auch keine Klammerung.

@Bernd:
Die (c)-Meldung von M$ kenne ich nur beim C128 (Commodore Basic 7.0),
nicht von den anderen Computern.

Ansonsten muß ich Andreas recht geben. Ein Compiler der mit einem
Compiler-Compiler geschrieben wird, der sollte solche Probleme nicht
haben. Man schreibt einfach mehr oder weniger direkt die BNF-Notation
hin und gut ist.

Markus

Autor: Kai Schmidt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
gibt es denn foren, groups oder mailinglisten die sich gründlcih mit
bascom-avr beschäftigen? ich hab bei google nichts finden (ausser
dialer seiten..)können......wer kann mir da helfen?

Autor: Markus Kaufmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es gibt einige yahoo-groups,
z.B. hier:
Bascom http://de.groups.yahoo.com/group/BASCOM/
Bascomlist (auch yahoo)
und die Liste auf mcselec.com selbst.

Dann kennen sich in den allgemeinen Foren (z.B. hier) natürlich auch
noch Leute aus.

Markus

Autor: Bernd Schmidt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Markus
Ist zwar lange her aber wenn ich mich richtit entsinne stammen die
Basic Interpreter vom VC20 bis C64 von M$.
Auch Apple (damals im Apple ][) hatte den Interpreter von  M$. Das
wurde zwar nicht ins Handbuch geschrieben, aber die Basic-Tokens waren
teilweise gleich. Damals kannte sowieso niemand M$, wamrum also eine
Meldung ausgeben :-)

@Kai
www.grote.net/Bascom/ ist das Mailarchiv über Bascom. Auf
www.mcselec.com sind einige Links auf Bascom Seiten, teilweise in
Deutsch.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.