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
...... 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 :)))
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
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
@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
Mal im Ernst: Wer für einen Mikrocontroller eine Programmiersprache mit allen Schikanen erwartet... Ein paar Abstriche muß man halt machen.
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
"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.
@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
@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
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?
@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
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?
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
@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.
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.