Ein kleiner tragbarer Rechner braucht eine Programmiersprache für kleine und schnell zu entwickelnde Lösungen. Basic ist da gerade richtig. Um so erfreulicher ist es, dass mit HotPaw Basic ein Basic-Interpreter für den Palm vorliegt, der sogar noch ohne Kosten in Ruhe ausprobiert werden kann. Die frei aus dem Internet ladbare Version findet man hier: www.nicholson.com/rhn/hotpaw/. Der Anwender kann das Programm einen Monat lang uneingeschränkt testen. Wenn es ihm gefällt, kann er für rund 20 Dollar die Vollversion bekommen. Wenn nicht, darf er das Programm mit einer kleinen Einschränkung weiter benutzen. Es können dann maximal vier Programme im Speicher bereitgehalten und ausgeführt werden.
Alle Basic-Programmbeispiele aus diesem Buch sind in Form von Textdateien auf der CD vorhanden. Um sie zu nutzen, müssen die Listings aus einem Texteditor über die Zwischenablage in Merkzettel des Palm-Desktops kopiert werden. Beim nächsten Hotsync gelangen sie dann ins Gerät.
Befehlsumfang
Das Programm yBasic.prc ist der eigentliche Basic-Interpreter. Er muss zunächst in den Palm übertragen werden. Zusätzlich muss die Mathematik-Bibliothek MathLib.prc geladen werden. Alle Programmbeispiele aus dem Buch wurden mit der Version 1.2.7 des Interpreters entwickelt. Bei Fertigstellung des Buch war bereits die Version 1.3.1 erhältlich, die ebenfalls auf der CD zu finden ist.
Abb. 3.1 HotPaw 1.2.7 ((hotpaw.gif))
HotPaw Basic verfügt über keinen eigenen Editor. Man verwendet statt dessen den Notizen-Editor des Palm-OS. Eine Datei muss in der ersten Zeile einen Namen mit der Bezeichnung des Basic-Programms enthalten, der mit einem Doppelkreuz eingeleitet wird:
#Programm1.bas
Dann folgen die übrigen Zeilen des Programms. Es handelt sich dabei um weitgehend normale Basic-Programme, die etwa mit dem Standard von Q-Basic unter DOS zu vergleichen sind. Es werden keine Zeilennummern verwendet. Hier eine Kurzübersicht der verfügbaren
Schlüsselworte:
Operatoren:
+ - * / mod ^ = <> > >= < <= and or xor not &
Kommandos:
let, if then else endif elseif, for to step next, while wend exit, goto gosub return, end run new stop :rem, dim, data read restore
Funktionen:
int() abs() sgn() rnd() bool() asin() acos() pi sqr() exp() log() log10() sin() cos() tan() atn() len() val() str$() chr$() hex$() mid$() asc() ucase$() lcase$() right$() left$() field$() instr()
Spezialfunktionen und -kommandos:
msgbox inputbox input$() print input ? display sub() end sub fre timer peek() poke call varptr() fn op draw sound morse peek$() float() randomize on as using open close eof eval() fn form db db$() get$() put find() kill
Was hier sofort ins Auge springt, sind die interessanten Schlüsselworte open, get$, put, poke und peek, die nach allen bisherigen Erfahrungen mit anderen Basic-Dialekten das Tor zur Hardware öffnen. Auf der CD befindet sich eine Übersicht in der Datei Quickref.txt. Hierin ist besonders der Zugang zur seriellen Schnittstelle interessant. Wie in Basic üblich wird die Schnittstelle wie eine Datei angesprochen. Der Name ist immer "com1:", die Dateinummer ist immer #5. Die folgende Übersicht zeigt die verfügbaren Befehle und Funktionen.
open "com1:",baud_rate as #5 '- öffnet die serielle Schnittstelle
open "com1:",rate,ir as #5 '- öffnet die IrDA-Schnittselle
close #5 '- schließt die serielle Schnittstelle
print #5, a$ '- sendet einen Text in a$
put #5,byte '- sendet ein Byte
fn serial(5) '- liefert die Anzahl der Bytes im Empfangspuffer
get$(#5, n) '- empfängt einen String mit bis zu n Zeichen
get$(#5, 0) '- liefert ein Empfangsbyte oder -1
input #5, a$ '- empfängt eine Textzeile
put #5,-3 '- setzt den Break-Zustand, TXD = 1
put #5,-2 '- beendet den Break-Zustand, TXD = 0
fn serial(-5) '- liefert den Zustand von CTS (2)
fn serctrl(7,2,0) '- setzt spezielle Schnittstellenparameter
Die serielle Schnittstelle bleibt nur während der Programmausführung geöffnet und wird automatisch geschlossen, wenn das Programm beendet wird oder der PDA sich automatisch abschaltet.
Arbeit mit dem Palm-Emulator
Der Emulator hat sich als wirkliche Erleichterung bei der Softwareentwicklung in Basic erwiesen. Programmänderungen lassen sich schnell und einfach überprüfen. Bei der Arbeit mit HotPaw Basic ist es sinnvoll, Programme auf dem Merkzettel-Editor des Emulators zu schreiben, und dann mit HotPaw Basic zu simulieren. Es ist eben doch angenehmer, längere Programmtexte mit der PC-Tastatur einzugeben als mit dem Palm-Stift.

Der Emulator
Erfolgreich simulierte Programme lassen sich mit Kopieren und Einfügen in den Palm-Desktop übertragen und dann über einen Hotsync in das reale Gerät laden.
Programmbeispiele für die folgenden Abschnitte: Download
Literatur: Richtig messen mit dem USB-Scope