Forum: Mikrocontroller und Digitale Elektronik AVR TinyBasic


von Peter S. (petersieg)


Angehängte Dateien:

Lesenswert?

Habe gerade mal eine uralte Tiny Basic Implementierung 'wieder 
gefunden'.

Siehe auch hier:
Beitrag "AVR Tiny BASIC anpassung für ATmega8"

Gerade für Atmega16 übersetzt und läuft.

Code müßte mal etwas aufgeräumt werden.. evtl. hat je jemand Spaß daran,
hier weitere Funktionen zu implementieren bzw. den Code aufzuräumen und 
zu testen..

Was ich mir zu vorstellen könnte, wäre so eine Art 'Basic 
Programmierbarer Bus Pirate' als Testbench-Tool.. ;-)

Also noch z.B I2C/SPI/1-Wire/2-Wire Interfaces implementiert und diese 
dann per Basic Schlüsselwort ansprechbar..

Etc. pp.

Peter

von Laie (Gast)


Lesenswert?

Schon fix und fertig mit allem pipapo:

http://geoffg.net/micromite.html

von Peter S. (petersieg)


Lesenswert?

Kannte ich schon.. ist Pic32 und hat nichts mit TinyBasic zu tun.

Peter

von Jürgen S. (jurs)


Lesenswert?

Peter Sieg schrieb:
> Habe gerade mal eine uralte Tiny Basic Implementierung 'wieder
> gefunden'.

TinyBasic scheint ein echter Dauerbrenner zu sein.

Im Dr. Dobb's Journal sind ja damals über etliche Jahre hinweg immer 
wieder TinyBasic-Versionen gepostet worden, die andere dann noch 
Jahrzehnte später auf irgendwas portiert haben.

Laut den von Dir wiedergefundenen Assembler-Sourcen basiert Dein 
AVR-Programm auf einer TinyBasic-Version, die im Mai 1976 im Dr. Dobb's 
Journal erschien:
> ; Based on the original copyleft source from Li-Chen Wang

Arduino-Entwickler haben sich mal eine später erschienene TinyBasic 
Version vorgenommen, die damals zum Jubiläum in der hundertsten Ausgabe 
(Februar 1985) des Dr. Dobb's Journal erschienen war.

Irgendjemand hat das Assembler in C übersetzt, und diese Version ist 
wohl einfach an Arduino anpassbar gewesen. Läuft auf Atmega168 und 
Atmega328;
https://github.com/BleuLlama/TinyBasicPlus

Sketch-Quellcode für Arduino-IDE: 
https://github.com/BleuLlama/TinyBasicPlus/blob/master/Arduino/TinyBasicPlus.ino

I2C/SPI-Interfaces sind zwar nicht per Basic-Befehl ansprechbar, aber 
immerhin sind einige der Arduino-Komfortbefehle umgesetzt:
AREAD ==> entspricht "analogRead" zum Lesen eines ADC-Wertes
DREAD ==> entspricht "digitalRead" zum Lesen eines Eingangs
DWRITE ==> entspricht "digitalWrite" zum Setzen eines Ausgangs
AWRITE ==> startet PWM-Ausgabe
TONE ==> Tonerzeugung an einem Pin
etc.

Es können Versionen kompiliert werden mit Funktionen zum Speichern und 
Laden von Programmen im EEPROM des Controllers, oder wahlweise auf einer 
SD-Karte.

Groß irgendwas anfangen kann man damit nicht.
Na ja, außer daran basteln vielleicht, falls Du dem Interpreter auch 
noch I2C und/oder SPI auf AVR-Controllern beibringen möchtest.

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.