Tiger-Basic
# Tiger-Basic

Tiger-BASIC ist ein BASIC-Dialekt zur Programmierung von BASIC-Tiger-Mikrocontrollern.

## Entstehung

Die Tiger-BASIC Entwicklung begann Mitte der 1990er Jahre als Programmiersprache für die BASIC-Tiger-Mikrocontroller und wird seither kontinuierlich weiterentwickelt.

Ziel ist es, die Entwicklungszeit drastisch zu verkürzen, indem man vorgefertigte Module, Funktionen, und Devices verwendet.

Das Multitasking-System von Tiger-BASIC dient zur einfachen Verwaltung von vielen gleichzeitig ablaufenden Prozessen, ohne dabei den Umweg über Schleifen oder Sprungmarken zu gehen.

## Multitasking-Fähigkeit

Auf einem BASIC-Tiger-Mikrocontroller können bis zu 32 BASIC-Tasks und 64 System-Tasks gleichzeitig ablaufen. Durch dynamische Priorisierung lässt sich die CPU-Leistung fein dosiert auf die Tasks verteilen. Ändert sich der Leistungsbedarf eines Tasks, kann er durch sich selbst oder von anderer Stelle aus zusätzliche CPU-Leistung zugewiesen bekommen.

## I/O-Funktionen

I/O-Funktionen können in Tiger-BASIC grundsätzlich auf 3 verschiedene Arten angesprochen werden.

Durch BASIC-Instruktionen wie z. B. IN, OUT, DIR werden elementare I/O-Operationen durchgeführt, z. B. Ansteuerung einzelner Pins oder Ports.

Für komplexere I/O-Aufgaben stehen spezielle Funktionen in der Function-Library zur Verfügung, z. B. I²C-Bus oder SPI.

Für I/O-Kanäle mit umfangreichen Funktionen, aufwändigem Handling und Bufferungen stehen Device Treiber zur Verfügung.

Die Function-Libraries und Device Treiber dienen zur Vereinfachung der Programmierung und ggf. zur Einsparung von Hardware-Bauteilen.

## Subroutinen

Subroutinen können bis zu 16 Ein- und Ausgangs-Parameter handhaben und lokale und globale Variablen verwenden.

Tiger-BASIC Subroutinen sind vollkommen re-entrant und können daher von mehreren Tasks gleichzeitig und auch rekursiv benutzt werden.

## Entwicklungsumgebung

Die Entwicklungsumgebung BASIC-Tiger für Windows enthält Editor, Compiler und Source-Level-Debugger sowie zahlreiche Beispielapplikationen:

* Editor mit Syntax-Highlighting und weiteren speziellen Hilfen
* Compiler mit Syntaxprüfung
* Downloader zur Übertragung kompilierter Programme in den BASIC-Tiger
* Source-Level Debugger mit Variablen-Anzeige, Breakpoint, Single-Stepping
