Die vorliegende Anleitung beschreibt kurz die Unterschiede zwischen den bisherigen OM-Controllern Open-Micro, Open-Mini und Open-Midi und der neuen Open-Macro. Anwendern, die bereits die Original-C-Control (Version 1.1) kennen, sollte der Umstieg auf die Open-Macro nicht allzu schwierig fallen.
Die Dokumentation besteht aus einer einzigen HTML-Seite, die dementsprechend unkompliziert ausgedruckt oder in ein anderes Dateiformat (wie DOC, PDF, PS, HLP, etc.) konvertiert werden kann.
Es läßt sich auch sehr einfach nach einem Stichwort mittels Ctrl+F, bzw. Strg+F suchen. Jeder Internetbrowser formatiert diese Dokumentation etwas anders. Die beste Formatierung wird mit dem Internet Explorer erzielt.
Die Open-Midi und Open-Macro basieren auf dem gleichen Mikrocontroller, sie sind also hardwaremäßig vollständig kompatibel. Die Open-Mini besitzt das gleiche Pinlayout wie die erstgenannten Mikrocontroller. Ein Board, das für die Open-Mini geeignet ist, wird auch mit der Open-Midi und Open-Macro funktionieren.
Die Open-Macro besitzt ein vollständig neu entwickeltes Betriebssystem. Im folgenden werden die Unterschiede zu den bisherigen OM-Controllern und die neuen Features kurz vorgestellt. Weitere Informationen befindet sich in der normalen Bedienungsanleitung zur Open-Micro und, da die Open-Macro maßgeblich zur C-Control Version 1.1 kompatibel ist, in der Bedienungsanleitung zur C-Control. Die folgenden Beispiele sind in OCBASIC 1.07 geschrieben.
Während die bisherigen OM-Controller nur 8-Bit Werte (BYTE) unterstützten, kann die Open-Macro 16-Bit Werte mit Vorzeichen (WORD) verarbeiten. Auch der TIMER und FREQ (bzw. FREQ1) arbeiten mit 16 Bit.
Unter anderem in I2CLCD.BAS muß eine Zeile angepaßt werden: "IF i2c_write(&h40)=0 THEN" statt "IF NOT(i2c_write(&h40)) THEN". Das liegt am 16-Bit-Handling der Open-Macro.
Auch der Zufallszahlen-Generator (siehe RANDOMIZE und RAND) arbeitet auf der Open-Macro mit 16 Bit.
Es sollten aber immer die oberen Bits der erzeugten Zufallszahlen verwendet werden, denn sie haben den größten Zufallscharakter. Zum Beispiel lassen sich mittels "(RAND SHR 8) AND 255" gute Zufallszahlen von 0 bis 255 erzeugen. Die so erzeugten Zufallszahlen sind sogar besser als auf den kleinen OM-Controllern, denn diese verwenden nur einen 8-Bit-Generator.
Wenn Zufallszahlen von 0 bis 5 generiert werden sollen, muß man aber etwas trickreich vorgehen: Da die Open-Macro Zufallszahlen von -32768 bis +32767 erzeugt, müssen diese zunächst in den positiven Zahlenbereich verschoben werden. Das geht mittels "(RAND SHR 1)+16384". Jetzt werden Zufallszahlen von 0 bis 32767 generiert. Es muß nun noch geeignet dividiert werden, um in den gewünschten Zahlenbereich 0 bis 5 zu kommen. Der Zahlenbereich umfaßt 6 Zahlen, deshalb muß 32767 durch 6 geteilt werden, was laut Taschenrechner 5461.166667 ist. Damit bei der Division ein Wert kleiner 6 herauskommt, muß der nächsthöhere Wert 5462 genommen werden. Somit werden mit "((RAND SHR 1)+16384)/5462" die gewünschten Zufallszahlen von 0 bis 5 erzeugt.
Aus Kompatiblitätsgründen arbeitet der AD-Wandler standardmäßig mit gerundeten 8 Bit. Aber so gehen auch 10 Bit:
Die Open-Macro bietet eine hardwaremäßig implementierte 2. Serielle Schnittstelle (ESCI). Die TXD-Leitung der ESCI liegt am PORT[14] und RXD am PORT[13]. Auf dem Starterboard von CCTools oder dem zweiten PE-Board auf der offiziellen OM-Website kann der Jumper für RS232 auf Dual-Wire umgeschaltet und PORT[14] mit PORT[1] und PORT[13] mit PORT[2] verbunden werden, um die ESCI zu testen oder zu nutzen.
Die interne Variable EsciErr ist in OMAC.DEF definiert. Sie bedeutet "mindestens ein Empfangsfehler an der ESCI". Gelöscht/resettet wird EsciErr vom Betriebssystem bei Benutzung von GET oder INPUT. Das obige Beispiel kann man folgendermaßen testen: Im Terminalprogramm während der Programmabarbeitung (während PAUSE) mehr als 8 Tasten drücken. Dann gibt es einen Überlauf im Empfangsbuffer, weil dieser nur 8 Byte groß ist.
Auf den bisherigen OM-Controllern arbeitete LOOKTAB bisher im 8-Bit-Format. Es wurde also immer ein Byte aus einer Tabelle ausgelesen. Auf der Open-Macro arbeitet LOOKTAB jedoch im 16-Bit-Format. Es wird wie auf der "großen" C-Control üblich, ein Word aus der Tabelle ausgelesen. Es gibt jedoch den neuen Befehl LOOKTABBYTE, mit dem Daten aus einer Byte-Tabelle ausgelesen werden können. Um besser nachvollziehen zu können, was der Code bewirkt, gibt es der Vollständigkeit halber auch ein LOOKTABWORD, das aber genauso arbeitet wie LOOKTAB.
Wie auf der Original-C-Control üblich, arbeitet das Filehandling (PRINT#, INPUT#, etc.) im 16-Bit-Format. Es wird also immer ein Word aus der Datei gelesen oder in die Datei geschrieben. Mittels interner Variable FileByte kann bei Bedarf allerdings auf das von den bisherigen OM-Controllern verwendete 8-Bit-Format umgeschaltet werden.
Mit dieser internen Variable kann die Frequenz am FREQ-Pin (PORT[3]) abgefragt werden. Die Messung erfolgt im Hintergrund, parallel zur Programmausführung. Die Frequenzmessung wird erst aktiviert, nachdem die Torzeit (Meßzeit) eingestellt wurde. Auf den bisherigen OM-Controllern konnte die Torzeit in 20-ms-Schritten angegeben werden. Wie auf der C-Control 1.1 ist auf der Open-Macro die Torzeit jedoch fix auf 1 Sekunde festgelegt. Die Frequenzmessung muß daher mit dem Befehl "FREQ=50" aktiviert werden. Durch "FREQ=0" oder "FREQ=OFF" läßt sich die Frequenzmessung deaktivieren. Während BEEP und SLOWMODE werden alle Interrupts deaktiviert und deshalb wird auch FREQ nicht mehr aktualisiert. Das Gesagte gilt auch für GET und INPUT an der Single-Wire-RS232 (an PORT[1]).
Die Open-Macro bietet mehr als 140 Byte Variablenspeicher (USER-RAM) und 5438 Byte Programmspeicher (USER-FLASH).
Es existiert ein Downloadtool namens OMDLWIN.EXE, das speziell für die OM-Controller entwickelt wurde und unter Windows läuft. Ab Version 1.3 dieses Downloadtools unterstützt es den neuen Parameter "AUTOBAUD", der statt der Baudrate angegeben werden kann, und auf der Open-Macro die schnellstmögliche Baudrate automatisch wählt, falls die Hardware-RS232 (ESCI) aktiviert ist. Mit ESCI und AUTOBAUD werden Programme bis zu zehnmal schneller übertragen! Im ZIP-Archiv, in dem sich OMDLWIN.EXE ab Version 1.3 befindet, existiert auch die INFO.TXT-Datei. Hier wird beschrieben, auf welche Weise der Anwender das ESCI der Open-Macro für den Programmdownload aktivieren kann.
__ _ , _ / ) _/_ ' ) / // / / o _ / ____ __. __ /--/ __. __ // _____ ()/__/_<_</_<__/ / /_(_/|_/ ( / (_(_/|_/ (_</_(_) \_)__
(Dietmar Harlos, Dipl.-Ing. Elektrotechnik)
|