Allgemeines zu: BASIC++

Software und Quellcodes für Microcontroller

Software und Quellcodes für Microcontroller

Moderator: Moderatorengruppe

Allgemeines zu: BASIC++

Neuer Beitragvon Thomas am Montag 12. September 2005, 17:42

Allgemeines zu: BASIC++
Quelle: Conrad Elektronik

Kleine Microcontroller haben die Welt erobert und sind überall zu finden. Microcontroller werden vorwiegend in Assembler programmiert werden, was Erfahrung in dieser Programmiersprache und genaue Kenntnis der Prozessorarchitektur erfordert.

Nicht selten ist allein das Manual zum Prozessor mehrere hundert Seiten lang und von Laien praktisch nicht zu verstehen. Auch wer Assembler programmieren möchte, ohne diese Kenntnisse bereits zu haben ist auf Bücher angewiesen deren Seitenumfang ganz sicher noch grösser ist BASIC++ ist der BASIC-Dialekt, der zur Programmierung des C-Contro BASIC Steuercomputers verwendet wird und keine der genannten Spezialkenntnisse erfordert. Die Syntax entspricht in etwa der des Standard-BASIC. Um den Kern des Standard-BASIC sind zahlreiche neue Funktionen verfügbar.

Sie erschliessen die erweiterten Resourcen der UNIT M 2.0 in einer einfachen Syntax-Erweiterung und bieten darüber hinaus Features wie sie von modernen Hochsprachen zur Verfügung gestellt werden.

Für den versierten Anwender steht mit der WORKBENCH++ eine funktionell erweiterte Entwicklungsumgebung zur Verfügung, welche zu BASIC++ kompatibel ist (gleicher Compiler)

    Speichereffizienz:
    Die Computer der C-Control Serie haben ein komplettes Betriebssystem auf dem Chip und lassen sich in einem BASIC-Dialekt programmieren. BASIC ist nicht nur leicht zu erlernen, sondern auch sehr platzsparend. Ein BASIC- Program braucht nur etwa ein Fünftel des Speichers, das ein Asseblerprogramm gleicher Funktion benötigen würde. Grundsätzlich gilt, je länger das BASIC - Programm ist, desto grösser ist der Speicher-Vorteil gegenüber einer Assembler Programmierung.

    Geschwindigkeit:
    Der Ausspruch "BASIC ist langsam" stammt aus der Zeit, als BASIC auf dem Computer als Quelltext gespeichert war und der gesamte Text bei der Ausführung erst gelesen und interpretiert werden musste. Bei BASIC wird der Quelltext von einem Compiler gelesen und in die von Betriebssystem lesbaren sog. Token verwandelt, welche als eigentliches Programm in die C-Control geladen wird. Das Betriebssystem muss also nicht die vielen Buchstaben einer Programmzeile lesen sonder nur das dafür repräsentative Token. Und das geht sehr schnell. Die C-Control Unit M 2.0 benötigt nur etwa 50us für die Ausführung eines BASIC-Befehls.
    Das ist deutlich schneller als eine CCII mit einem 20MHz, 16Bit Controller. Natürlich hat eine CCII viel mehr Resourcen als die M 2.0, aber für die meisten Anwendungen dürfte eine M 2.0 völlig ausreichend sein.

    Entwicklungsaufwand
    Wenn man bedenkt, dass ein einziger BASIC-Befehl Routinen des Betriebssystems aufruft, die meistens mehrere hundert Bytes lang sind, ist leicht einzusehen, dass es eine enorme Zeiterspartnis darstellt ein Programm in BASIC zu programmieren. Ein Programm in BASIC zu programmieren dürfte nur etwa ein Zehntel der Zeit beanspruchen, welches ein Assemblerprogramm gleicher Funktion zum Entwurf benötigt.

Programmierung der Unit M 2.0 in BASIC++

DER STANDARD-BASIC KERN
BASIC++ bietet den bisherigen Nutzern von CCBASIC eine Alternative, die sich in den Kernfunktionen und der Syntax kaum von CCBASIC unterscheidet. Umsteiger, deren Erfahrungen sich auf das Standard-BASIC beschränken können sofort ihre Programme formulieren, da die zusätzlichen Resourcen der UNIT M1.2 / M 2.0 mit wenigen einfachen Syntax-Erweiterungen zugänglich sind.
DIE SYNTAX ERWEITERUNGEN VON BASIC++

Um den Kern des Standard-BASIC sind zahlreiche neue Funktionen verfügbar. Sie erschliessen die erweiterten Resourcen der UNIT M 2.0 in einer einfachen Syntax-Erweiterung und bieten darüber hinaus Features wie sie von modernen Hochsprachen zur Verfügung gestellt werden.

DIE MODULARITÄT VON BASIC++
Im Gegensatz zu Standard-BASIC Dialekten ist Basic++ viel modularer aufgebaut. Einen entscheidenden Vorteil bringt die Parameterübergabe von Funktionen mit sich. Daneben wurden mit dem modularen Konzept von CCBasic++ auch die Import- möglichkeit von Funktionen und verschiedene Geltungsbereiche (global und lokal) für Variablen eingeführt. Damit hat der Anwender die Möglichkeit fertige Programm-Module aus (eigenen oder anderen, allgemein zugänglichen) Bibliotheken zu integrieren, was den Programmieraufwand deutlich reduziert und die Lesbarkeit der Programme entscheidend verbessert.

ANWENDER:
Basic++ ist sowohl für den Einstieg (einfache Kernfunktionen) als auch für die professionelle Programmierung der C-Control I optimiert.

Auch wenn Sie zunächst Berührungsängste mit diesen Neuerungen haben, sollten Sie sich trotzdem die BASIC++ Beispiele ansehen. Sie werden sehr schnell erkennen wie einfach die Handhabung ist und wie übersichtlich sich Ihre Programme gestalten lassen. Ausserden finden Sie in der LIBRARY eine Auswahl von Programmen die Sie in Ihren Anwendungen unterstützen.

Programmierung der Unit MICRO in BASIC++

Im Prinzip können Sie auch bei der MICRO alle Vorteile von BASIC++ nutzen, wenn auch die MICRO einige grundsätzliche Einschränkungen erfordert.

Bei der MICRO sind grundsätlich alle Datentypen auf 8 Bit beschränkt (ohne Vorzeichen). Wortvariablen (signed Integer) werden also nicht unterstützt, was aber für den vorgesehenen Einsatzzweck nicht ins Gewicht fällt. Ausserdem werden einige Funktionen wie z.B. die Datumsfunktionen nicht unterstützt. Allgemein kann man aber sagen, dass sich fast alle im Betriebssystem fehlenden Funktionen leicht in BASIC++ nachbilden lassen, wenn es erforderlich sein sollte. So ist z.B. auch die fehlende MIN/MAX Funktion mit zwei Zeilen BASIC Programm nachbildbar.

Nicht vorhanden sind z.B. die Datei-Funktionen zur Datenspeicherung, die aber prinzipiell als spezielle Systemerweiterung nachgesrüstet werden könnten. Betriebsystemerweiterungen und Treiber werden hier im Internet zur Verfügung gestellt, soweit sie vorhanden sind. Diese reduzieren allerdings den nutzbaren BASIC Programmspeicher. Ohne zusätzliche Module sind 2kB BASIC Speicher nutzbar, was auch für komplexe Anwendungen in diesem Anwendungsbereich ausreichend ist.

Für die Editierung und Compilierung des BASIC++ Quellcodes wird die BASIC++ Entwicklungsumgebung verwendet. Damit wird maximale Kompatibilität gewährleistet und die Portierung von Programmen oder Programmteilen für die Unit M 2.0 ermöglicht.

Quelle: Conrad Elektronik
Benutzeravatar
Thomas
Threadstarter
14153
Forengründer
 
Beiträge: 854
Registriert: Mittwoch 26. Juni 2002, 17:24
Postleitzahl: 00000
Land: Germany / Deutschland

Zurück zu Software

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 7 Gäste