AVR TinyBasic

OP #3762851
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
Angehängte Dateien:
#3763703
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.

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.