Frank (Diskussion | Beiträge) K (→Schaltplan) |
Frank (Diskussion | Beiträge) K (→Hinweise zum I2C-Modus) |
||
Zeile 152: | Zeile 152: | ||
{{Registertabelle8Bit|ASCII-Mode|-|-|-|-|Taste11|Taste10|Taste9}} | {{Registertabelle8Bit|ASCII-Mode|-|-|-|-|Taste11|Taste10|Taste9}} | ||
− | Bit 3 bis 6 = derzeit in der Firmware nicht genutzt | + | Bit 3 bis 6 = derzeit in der Firmware nicht genutzt / Bit 7 = Steht auf 1, wenn ASCII-Mode aktiviert |
− | Bit 7 = Steht auf 1, wenn ASCII-Mode aktiviert | + | |
Die hier beschriebenen Befehle werden alle außer Kraft gesetzt, wenn RN-KeyLCD per Tasten in den Hex-Mode (siehe nächste Seiten) geschaltet wird. | Die hier beschriebenen Befehle werden alle außer Kraft gesetzt, wenn RN-KeyLCD per Tasten in den Hex-Mode (siehe nächste Seiten) geschaltet wird. | ||
− | Erwähnenswert ist noch das wegen der verwendeten Matrixtastatur die genauen Tastenkombinationen nur dann ermittelt werden können wenn einzelne oder ein bzw. zwei Tasten gleichzeitig gedrückt werden. Werden noch mehr Tasten gleichzeitig gedrückt, so gibt es einige Sonderfälle bei bestimmten Tastenkombinationen wo weitere Scancode-Bits gesetzt werden. Dies sollte dann bei der Abfrage berücksichtigt werden. | + | Erwähnenswert ist noch das wegen der verwendeten Matrixtastatur die genauen Tastenkombinationen nur dann ermittelt werden können wenn einzelne oder ein bzw. zwei Tasten gleichzeitig gedrückt werden. Werden noch mehr Tasten gleichzeitig gedrückt, so gibt es einige Sonderfälle bei bestimmten Tastenkombinationen wo weitere Scancode-Bits gesetzt werden. Dies sollte dann bei der Abfrage berücksichtigt werden. |
− | + | ||
+ | |||
+ | ===RN-KeyLCD Einstellungen=== | ||
+ | |||
+ | Einige wichtige Einstellungen sind bei RN-KeyLCD direkt über die vorhandene Matrixtastatur möglich, dazu muss kein Steuerboard oder PC angeschlossen sein. | ||
+ | |||
+ | Direkt nach dem das Board durch einschalten der Betriebsspannung aktiviert wurde, meldet sich dieses mit folgender Einschaltmeldung | ||
+ | |||
+ | [[Bild:rnkeylcdeinstellungen1.jpg|center]] | ||
+ | |||
+ | Dies ist im übrigen gleich ein guter Test, falls man das Board selbst aufgebaut hat (Bausatz). Erscheint keine Meldung, dann sollte man Jumper und Spannungsversorgung prüfen. | ||
+ | |||
+ | '''Folgende Funktionen stehen zur Verfügung:''' | ||
+ | |||
+ | ====Hardware-RESET mit Grundstellung==== | ||
+ | Werden die Tasten 1,4 und 7 gleichzeitig gedrückt, so werden Betriebsmode, I2C-Slave ID, Autosend, Baudrate wieder in die ursprüngliche Grundstellung gebracht und ein RESET ausgelöst. | ||
+ | Das bedeutet das Board befindet sich dann im RS232-Mode mit 9600 Baud, Autosend aktiviert und SlaveID Hex 40 wird vorgegeben. Ein eventueller Hexmode wird auch deaktiviert. | ||
+ | Diese Tastenkombination ist eigentlich nur sehr selten notwendig. | ||
+ | |||
+ | ====HEX-Mode Ein- und Ausschalten==== | ||
+ | Werden die Tasten 1 und # gleichzeitig gedückt, so schalte man den Hexmode ein. Ist de rHexmode bereits eingeschaltet so führt ein erneutes drücken zur Abschaltung des HEX-Mode. | ||
+ | Im sogenannten Hex-Mode werden alle eingehenden Zeichen (egal in welchem Schnittstellenmodus RS232, RS232RING, I2C, RS485) als Hexadezimalzahl dargestellt. Dies kann sehr hilfreich sein wenn man bestimmte Schnittstellen oder Protokolle überprüfen will. | ||
+ | Im Hexmode werden keine Sonderbefehle ausgeführt damit alle Bytes von 0 bis 255 auch wirklich unverändert dargestellt werden. | ||
+ | |||
+ | ====Display löschen==== | ||
+ | Durch gleichzeitig drücken der Tasten # und 3 wird das LCD-Display gelöscht, Tastaturbuffer und I2C-Befehlsspeicher gelöscht. Der Cursor wird auf Home-Position gebracht. Dies ist sinnvoll wenn man bestimmte Bytefolgen verfolgen will und etwas Platz und Übersicht braucht, insbesondere im Hex-Mode. Einstellungen werden nicht verändert, auch Autosend-, Scan- oder Hexmode! werden nicht geändert. | ||
+ | |||
+ | ====Grundeinstellungen per LCD-Menü==== | ||
+ | Durch gleichzeitiges drücken der Tasten 1 und 2 kommt man in ein Menü wo verschiedene Einstellungen gewählt werden können. Siehe nächstes Kapitel. | ||
+ | |||
+ | |||
+ | |||
+ | ===LCD-Einstellungsmenü=== | ||
+ | Durch gleichzeitiges drücken der Tasten 1 und 2 kommt man in ein Menü wo verschiedene Einstellungen gewählt werden können. | ||
+ | |||
+ | Nach dem drücken der Tasten sieht das Menü in etwa so aus (Slave ID auf Bild stimmt nicht): | ||
+ | |||
+ | [[Bild:rnkeylcdeinstellungen2.jpg|center]] | ||
+ | |||
+ | Mit folgenden Tasten können nun folgende Eigenschaften umgeschaltet werden: | ||
+ | |||
+ | Taste 4 | ||
+ | Betriebsmodus, also die Schnittstelle die genutzt werden soll | ||
+ | Wählbar ist: RS232 , I2C , RS232 RING , RS485 | ||
+ | |||
+ | Erläuterung der Modi: | ||
+ | |||
+ | [[Bild:rnkeylcdeinstellungen3.jpg|center]] | ||
+ | |||
+ | RS232: In diesem Modus werden alles Eingaben und Steuerbefehle über die dreipolige Stiftleiste RS232 erwartet. Wird das IC1 und IC3 aus der Fassung entfernt, so kann das Board auch über die 4 polige Stiftleiste RS232TTL im TTL-Pegel angesteuert werden. | ||
+ | |||
+ | [[Bild:rnkeylcdeinstellungen4.jpg|center]] | ||
+ | |||
+ | RS232RING: Dies ist eine besondere Betriebsart, hier wird das Board zwar auch über die 3 polige RS232 Schnittstelle angesteuert, jedoch wird ein zweites beliebiges Board ebenfalls per RS232 mit einer zweiten dreipoligen Stiftleiste NEXTRS verbunden. Zudem muss der Jumper JP6 entfernt werden. Alle eingehenden Daten werden wie üblich auf dem Display dargestellt, jedoch zugleich an das zweite angeschlossene RS232 Board weitergegeben. Die Rückgaben des zweiten Boardes werden dann als Rückgabe von RN-KeyLCD ebenfalls zurückgegeben. Dieser Betriebsart erlaubt also die Zwischenschaltung von RN-KeyLCD in bestehende RS232 Verbindungen. Dies kann nützlich sein, wenn man die gesendeten Daten sichtbar verfolgen will. | ||
+ | |||
+ | [[Bild:rnkeylcdeinstellungen5.jpg|center]] | ||
+ | |||
+ | I2C: In diesem Modus erfolgt die Steuerung von RN-KeyLCD komplett über den I2C-Bus. Alle Bytes die über den I2C Bus gesendet werden, werden identisch wie die RS232 Bytes behandelt. Die Standard I2C-Slave ID Vorgabe ist Hex 40 (anders als im Bild gezeigt) | ||
+ | |||
+ | [[Bild:rnkeylcdeinstellungen6.jpg|center]] | ||
+ | |||
+ | RS485: In diesem Modus werden die Daten über eine RS485 Verbindung empfangen und gesendet. Gewöhnlich steht das Board immer im Empfangsmodus- Lediglich bei Abruf von Tastaturereignissen sowie im AUTOSEND-Mode schaltet das Board automatisch ganz kurz auf senden um. Wenn dieser Modus genutzt wird, muss IC1 aus der Fassung entfernt werden und IC3 vorhanden sein. | ||
+ | Ein spezielles RS485 Protokoll wird derzeit nicht unterstützt, daher eignet sich dieser Modus vorwiegend auch zur Kontrolle von RS485 Verbindungen. | ||
+ | |||
+ | |||
+ | ;Taste 5 | ||
+ | Baudrate, also die Übertragunsgeschwindigkeit der RS232 Schnittstelle | ||
+ | Wählbar ist: 300, 2400, 9600, 19200, 38400 Baud | ||
+ | |||
+ | ;Taste 6 | ||
+ | I2C-Slave ID, also die Slave-Adresse über die RN-KeyLCD angesteuert werden soll. Es kann eine beliebige I2C-Slave ID gewählt werden. Somit kann man auch sehr viele RN-KeyLCD Board´s an einem Bus (I2C Kabel) nutzen und getrennt ansprechen. Zudem ist eine wählbare ID sehr günstig wenn man beispielsweise im Hex-Mode die Sendung an ein anderes I2C-Board kontrollieren will. | ||
+ | Durch die Taste 6 wird die ID immer um 2 erhöht und beginnt dann schließlich wieder bei 2 von vorn. Über die Taste 7 kann man in größeren Schritten umschalten. | ||
+ | |||
+ | ;Taste # | ||
+ | Durch drücken dieser Taste werden die Einstellungen fest gespeichert und das Menü verlassen. Die Einstellungen bleiben auch erhalten wenn das Board von der Spannung getrennt wird! | ||
+ | Wurde die SLAVE ID geändert, so wird nach dem Speichern automatisch ein RESET durchgeführt. | ||
+ | |||
+ | ===Beispiele wie man RNKeyLCD nutzen kann=== | ||
===Schaltplan=== | ===Schaltplan=== |
Version vom 15. Dezember 2005, 17:35 Uhr
An diesem Artikel arbeitet gerade Mitglied Frank.
Am besten momentan noch keine gravierenden Ergänzungen / Änderungen vornehmen. Dieser Hinweis verschwindet wenn der Autor soweit ist. Sollte dieser Hinweis länger als drei Tage auf einer Seite sein, bitte beim Autor Frank per PM / Mail oder Forum nachfragen ob er vergessen wurde. |
Inhaltsverzeichnis
Was ist RN-KeyLCD?
Ein LCD und eine Tastatur ist fast bei allen Microcontroller-Anwendungen, Robotik-Basteleien von großem Vorteil. Nicht nur bei der späteren Bedienung der Schaltung sondern auch beim Debuggen eigener Controlleranwendungen. Der Nachteil war immer das ein Standard-LCD als auch eine Matrixtastatur viele Portleitungen belegt. Damit macht dieses Board nun Schluß! Das Board belegt keinerlei zusätzlichen Port, es kann sowohl über eine RS232 Schnittstelle (PC V24 Norm oder TTL Pegel) als auch I2C-Bus oder sogar RS485 angesteuert werden. Der Anschluß und die Ansteuerung wird dadurch sehr einfach, nicht nur bei allen RN-Board´s. Baudraten, I2C-Slave-Adresse und Betriebsmodus können über das Tastenfeld einfach umgeschaltet werden. Der Modus bleibt auch bei Spannungsausfall erhalten!
Besonders Vorteilshaft ist das für Tastatur, die serielle Verbindung und den I2C-Bus intern ein Ringbuffer (Zwischenspeicher) vorgesehen ist. So wird das angeschlossene Hauptboard (z.B. RN-Control oder anderes Board aber auch PC) bei Ausgaben nicht so stark wie bei herkömmlichen LCD´s gebremst. Auch Tastatureingaben gehen nicht verloren wenn das Hauptboard mal gerade wegen einer Operation nicht genügend Zeit hat um die Tasten schnell genug abzufragen. LCD und Tastatur sind dabei völlig unabhängig über das gleiche Kabel ansteuerbar. Für die Verbindung zum PC oder anderem Mikrocontrollerboard ist nur das übliche 3 poliges RS232 Kabel oder 10 polige I2C Kabel notwendig (siehe unter RN-Definitionen).
Leistungsmerkmale und Eigenschaften
- sehr einfach über verschiedene Anschlüsse ansteuerbar.
- per RS232 Schnittstelle (V24 PC-Pegel) ansteuerbar (also nahezu sowohl über PC als auch alle Boards Max232 etc. z.B. rn-Board Serie)
- per RS232 TTL Pegel ansteuerbar (falls Board kein Max besitzt)
- per I2C-Bus ansteuerbar (Slave ID kann per Tasten gewählt werden)
- per RS485 ansteuerbar (in der derzeitigen Firmware wird jedoch noch kein Netzwerk oder spezielles Protokoll unterstützt). Endwiderstände sind über Jumper aktivierbar.
- Spezieller RS232 RING Modus. In dieser Betriebsart kann das Board quasi in Reihe mit anderen RS232 Boards geschaltet werden. Dazu verfügt RN-KeyLCD sowohl über eine 3 polige RS232 Ein- und eine dreipolige Ausgangsstiftleiste. Auf diese Weise werden kann das Board also zwischen andere Board´s geschaltet werden. Die Daten werden von RN-KeyLCD automatisch weitergeleitet als auch auf dem Display angezeigt. Dies kann nützlich sein wenn man den Datenaustausch anderer Boards beobachten möchte.
- Hex-Mode – alle eingehenden Bytes werden in diesem Mode Hexadezimal angezeigt. Ein sehr hilfreicher Mode wenn man Schnittstellen/Protokolle prüfen will
- LCD-Menü um Einstellungen wie SlaveID, Baudrate, Mode einzustellen
- Wahlweise bei Tastendruck Interrupt am I2C-Bus auslösbar
- RN-KeyLCD kann wahlweise über den I2CBus mit Spannung versorgt werden, dadurch ist keine weitere Kabelverbindung notwendig
- Durch eine vorhandene Spannungsstabilisierung kann das Board auch mit Spannungen zwischen 6V und ca. 18V betrieben werden.
- Beleuchtetes Display einfach steckbar (kann jederzeit wieder entnommen werden). Es werden sowohl blaue als auch grün/gelbe Display unterstützt.
- Display Kontrast regelbar
- Beleuchtung per Software ein- und ausschaltbar um Batteriekapazität zu sparen
- Andere Display können über eine Standard Wannenstecker extern angeschlossen werden (derzeit werden nur 4x20 Zeichen Displays mit KS0073 Controller in der Firmware berücksichtigt)
- Umlaute werden automatisch umgesetzt, so das Ausgaben wie Print "schön" auch richtig auf dem LCD erscheinen.
- Automatisches Scrolling (Text verschiebt sich wenn letzte Zeile und Zeichen erreicht ist)
- Matrix Tastatur nur gesteckt und angeschraubt – jederzeit abnehmbar
- Tastatureingaben werden in Ringbuffern zwischengespeichert. Der Abruf erfolgt als ASCII oder Scancode (gleichzeitig gedrückte Tasten können so ermittelt werden)
- Eingebauter Lautsprecher für Tastenbestätigung
- Wahlweise können Tastenbetätigungen auch automatisch nach jeder Betätigung per RS232 als ASCII-Zeichen versendet werden
- Alle IC´s gesockelt
- Profis können bei Bedarf auch eigene Firmware entwickeln / ISP-Programmierstecker ist vorhanden / Schaltplan ist offengelegt
- Roboternetz kompatible Platine (halbes Euroformat) und Stecker (RN-Definitionen)
- Deutsche Doku mit Beispielen
Alles in allem ein Board das sicher etwas teuerer ist als ein reines LCD-Display, aber die vielfältigen Einsatzmöglichkeiten sorgen dafür das dieses sicher nicht so schnell in einer Ablage verschwindet. Insbesondere die schnelle Anschlussmöglichkeit per RS232 wird ein PC mit Terminalprogramm oft überflüssig machen.
RN-KeyLCD - Befehlsübersicht
Die Ansteuerung von RN-KeyLCD ist recht einfach, Jedes Zeichen (Byte) welches per RS232,RS485 oder I2C empfangen wird, erscheint als ASCII-Zeichen auf dem LCD, die Cursorposition wird dabei automatisch eine Stelle weiter gerückt. Ist das Zeilenende erreicht wird die nächste Zeile beschrieben. Wird das letzte Zeichen der letzten Zeile beschrieben, so verschiebt sich automatisch der Bildschirminhalt um eine Zeile nach oben (Autoscolling). Auf diese Weise werden also stets die letzten 4 Zeilen angezeigt.
Natürlich existieren auch einige Befehle um den Cursor an eine gewünschte Position zu setzen, die Anzeige zu löschen oder aber Spezialbefehle um die LED Beleuchtung ein oder auszuschalten usw. Diese Befehle bestehen aus einer bestimmten Bytefolge oder einem Sondercode. Auch hier ist es egal ob diese Codes per I2C-Bus, RS232 oder RS485 gesendet werden. Hier ist eine Übersicht der Funktionen in dem aktuellen RN-KeyLCD Betriebsystem V 1.2 (man spricht von "Firmware"). Die Firmware kann jederzeit mit einem ISP-Programmierkabel gegen eine andere ersetzt werden, falls es zum Beispiel ein Update gibt. AVR-Profis können sich sogar eine eigene Firmware erstellen.
- Display löschen
- Bytefolge (dezimal): 12
- Basic-Beispiel (RS232):
- Print Chr(12)
- Carriage Return CR - Cursor nach links auf Spalte 1 setzen
- Bytefolge (dezimal): 13
- Basic-Beispiel (RS232):
- Print Chr(13)
- Linefeed LF 10 - Cursor eine Zeile tiefer
- Bytefolge (dezimal): 10
- Basic-Beispiel (RS232):
- Print Chr(10)
- Cursor positionieren um an bestimmte Stelle auf dem LCD-Display zu schreiben
- Bytefolge (dezimal): 27 79 x y
- x gibt hier die Spalte 1 bis 20 an
- y gibt die Zeile 1 bis 4 an
- Basic-Beispiel (RS232):
- Print Chr(27);Chr(79);Chr(x);Chr(y)
- Cursor sichtbar/unsichtbar (Standard ist ausgeschalteter Cursor)
- Bytefolge (dezimal): 27 67 x
- x =1 bedeutet Cursor einschalten
- x =0 bedeutet Cursor ausschalten
- Basic-Beispiel (RS232):
- Print Chr(27);Chr(67);Chr(0)
- LCD Beleuchtung ein- und aussschalten
- Bytefolge (dezimal): 27 76 x
- x =1 bedeutet Licht einschalten
- x =0 bedeutet Licht ausschalten
- Basic-Beispiel (RS232):
- Print Chr(27);Chr(76);Chr(0)
- Ein Zeichen aus Tastaturbuffer als Scancode senden
- Durch senden dieses Befehles wird eine Taste die zwischenzeitlich im Tastaturbuffer gespeichert ist, als Scancode (2 Byte) per RS232 zurückgesendet. Der Scancode hat den Vorteil das auch gleichzeitig gedrückte Tasten vom Steuerboard ermittelt werden können.
- Bytefolge (dezimal): 27 120
- Basic-Beispiel (RS232):
- Print Chr(27);Chr(120)
- Nach dem Befehl sendet RN-KeyLCD zuerst das Low und dann das High Byte des Scancodes. Die Bedeutung des Scancodes ist weiter unten erläutert.
- Ein Zeichen aus Tastaturbuffer als ASCII Zeichen senden
Durch senden dieses Befehles wird eine Taste die zwischenzeitlich im Tastaturbuffer gespeichert ist, als Ascii-Zeichen (1 Byte) per RS232 zurückgesendet. Der ASCII-Code hat den Vorteil das nur 1 Byte erforderlich ist und sehr einfach ivom Steuerboard weiterverarbeitet werden kann. Der Nachteil gegenüber dem Scancode besteht darin, das das gleichzeitige drücken von Tasten kein gültiges Zeichen ergeben.
- Bytefolge (dezimal): 27 121
- Basic-Beispiel (RS232):
- Print Chr(27);Chr(121)
- Als Rückgabe wird das ASCII-Zeichen geliefert, das auch auf der Matrixtastatur abgebildet ist. Bei gleichzeitigem Betätigen von mehreren Tasten wird ein "?" gesendet.
- AUTOSEND-Modus - Gedrückte Tasten automatisch nach Tastenbetätigung senden
- Durch diesen Befehl wird ein Modus aktiviert, welcher eine gedrückte Tasten sofort nach der Eingabe per RS232 gesendet. Je nach gewählten Modus (siehe nächsten Befehl TASTENCODE-Modus) wird das Tastaturereignis als 1 Byte ASCII-Code oder als 2 Byte Scancode gesendet.
Die zuvor beschriebenen "Abholbefehle" sind in diesem Fall nicht notwendig bzw. möglich. Dieser Mode bleibt solange aktiviert bis er abgeschaltet wird . Nach einem Reset bzw. Neustart wird er automatisch aktiviert. Im I2C-Modus ist diese Betriebsart nicht möglich, dort wird dieser Mode automatisch ignoriert. Bytefolge (dezimal): 27 122 x
- x =1 bedeutet Automode aktiv
- x =0 bedeutet Automode ausgeschaltet
- Basic-Beispiel (RS232):
- Print Chr(27);Chr(122);Chr(0)
- TASTENCODE-Modus - Scancode und ASCII-Mode für Autosend und I2C-Abruf umschalten
- Durch diesen Befehl kann man wählen ob die Tastatureingaben im Autosend-Modus (siehe Befehl zuvor) per Ascii-Zeichen oder als 2 Byte Scancode gesendet werden sollen.
Nach dem Einschalten ist generell der ASCII-Modus aktiviert. Mit diesem Befehl wird gleichzeitig im I2C-Mode die Art des Tastaturzeichenabrufes bestimmt. Per I2C müssen immer zwei Byte abgerufen werden. Im Ascii-Modus befindet sich dann im ertsen Byte das entsprechende ASCII-Zeichen des Tastaturfeldes. Im zweiten Byte steht immer 128! Im Scancode-Modus steht jedes Bit der beiden Bytes für eine Taste!
- Bytefolge (dezimal): 27 119 x
- x =1 bedeutet Scancode-Modus aktiv
- x =0 bedeutet ASCII Mode aktiv
- Basic-Beispiel (RS232):
- Print Chr(27);Chr(119);Chr(1)
- Tastaturspeicher löschen (alle bisher gedrückten Tasten löschen)
- Bytefolge (dezimal): 27 123
- Basic-Beispiel (RS232):
- Print Chr(27);Chr(123)
- Zeige Copyright und Firmware Version über RS232
- Bytefolge (dezimal): 27 200
- Basic-Beispiel (RS232):
- Print Chr(27);Chr(200)
Hinweise zum I2C-Modus
Die Ansteuerung im I2C-Mode ist völlig identisch mit dem RS232-Mode. Wird ein Byte über I2C gesendet, so wird dieses ebenfalls auf dem LCD-Display ausgegeben. Sondercodes werden genau wie oben beschrieben behandelt. Tastatureingaben werden per I2C allerdings stets über einen Lesebefehl (SlaveID + 1) angefordert, da der I2C-Bus das automatische senden von I2C-Slave Board´s nicht erlaubt.
Gelesen werden aus RN-KeyLcd stets 2 Byte. Je nach Tastencode-Modus (siehe oben) müssen die Bytes unterschiedlich interpretiert werden. Im ASCII-Modi enthält das erste Byte das aufgedruckte Tastenfeld-Zeichen als ASCII-Code. Das zweite Byte enthält immer den Wert 128 und braucht in diesem Mode nicht weiter beachtet zu werden. Es kann jedoch zur Erkennung des Modus genutzt werden.
Im Scancode-Modi steht jedes Bit der beiden Bytes für eine Taste.
Erläuterung des Scancode:
- Low Byte (erste abgerufene Byte)
Bit: | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Name: | Taste8 | Taste7 | Taste6 | Taste5 | Taste4 | Taste3 | Taste2 | Taste1 |
- High Byte (zweite abgerufene Byte)
Bit: | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Name: | ASCII-Mode | - | - | - | - | Taste11 | Taste10 | Taste9 |
Bit 3 bis 6 = derzeit in der Firmware nicht genutzt / Bit 7 = Steht auf 1, wenn ASCII-Mode aktiviert
Die hier beschriebenen Befehle werden alle außer Kraft gesetzt, wenn RN-KeyLCD per Tasten in den Hex-Mode (siehe nächste Seiten) geschaltet wird.
Erwähnenswert ist noch das wegen der verwendeten Matrixtastatur die genauen Tastenkombinationen nur dann ermittelt werden können wenn einzelne oder ein bzw. zwei Tasten gleichzeitig gedrückt werden. Werden noch mehr Tasten gleichzeitig gedrückt, so gibt es einige Sonderfälle bei bestimmten Tastenkombinationen wo weitere Scancode-Bits gesetzt werden. Dies sollte dann bei der Abfrage berücksichtigt werden.
RN-KeyLCD Einstellungen
Einige wichtige Einstellungen sind bei RN-KeyLCD direkt über die vorhandene Matrixtastatur möglich, dazu muss kein Steuerboard oder PC angeschlossen sein.
Direkt nach dem das Board durch einschalten der Betriebsspannung aktiviert wurde, meldet sich dieses mit folgender Einschaltmeldung
Dies ist im übrigen gleich ein guter Test, falls man das Board selbst aufgebaut hat (Bausatz). Erscheint keine Meldung, dann sollte man Jumper und Spannungsversorgung prüfen.
Folgende Funktionen stehen zur Verfügung:
Hardware-RESET mit Grundstellung
Werden die Tasten 1,4 und 7 gleichzeitig gedrückt, so werden Betriebsmode, I2C-Slave ID, Autosend, Baudrate wieder in die ursprüngliche Grundstellung gebracht und ein RESET ausgelöst. Das bedeutet das Board befindet sich dann im RS232-Mode mit 9600 Baud, Autosend aktiviert und SlaveID Hex 40 wird vorgegeben. Ein eventueller Hexmode wird auch deaktiviert. Diese Tastenkombination ist eigentlich nur sehr selten notwendig.
HEX-Mode Ein- und Ausschalten
Werden die Tasten 1 und # gleichzeitig gedückt, so schalte man den Hexmode ein. Ist de rHexmode bereits eingeschaltet so führt ein erneutes drücken zur Abschaltung des HEX-Mode. Im sogenannten Hex-Mode werden alle eingehenden Zeichen (egal in welchem Schnittstellenmodus RS232, RS232RING, I2C, RS485) als Hexadezimalzahl dargestellt. Dies kann sehr hilfreich sein wenn man bestimmte Schnittstellen oder Protokolle überprüfen will. Im Hexmode werden keine Sonderbefehle ausgeführt damit alle Bytes von 0 bis 255 auch wirklich unverändert dargestellt werden.
Display löschen
Durch gleichzeitig drücken der Tasten # und 3 wird das LCD-Display gelöscht, Tastaturbuffer und I2C-Befehlsspeicher gelöscht. Der Cursor wird auf Home-Position gebracht. Dies ist sinnvoll wenn man bestimmte Bytefolgen verfolgen will und etwas Platz und Übersicht braucht, insbesondere im Hex-Mode. Einstellungen werden nicht verändert, auch Autosend-, Scan- oder Hexmode! werden nicht geändert.
Grundeinstellungen per LCD-Menü
Durch gleichzeitiges drücken der Tasten 1 und 2 kommt man in ein Menü wo verschiedene Einstellungen gewählt werden können. Siehe nächstes Kapitel.
LCD-Einstellungsmenü
Durch gleichzeitiges drücken der Tasten 1 und 2 kommt man in ein Menü wo verschiedene Einstellungen gewählt werden können.
Nach dem drücken der Tasten sieht das Menü in etwa so aus (Slave ID auf Bild stimmt nicht):
Mit folgenden Tasten können nun folgende Eigenschaften umgeschaltet werden:
Taste 4 Betriebsmodus, also die Schnittstelle die genutzt werden soll Wählbar ist: RS232 , I2C , RS232 RING , RS485
Erläuterung der Modi:
RS232: In diesem Modus werden alles Eingaben und Steuerbefehle über die dreipolige Stiftleiste RS232 erwartet. Wird das IC1 und IC3 aus der Fassung entfernt, so kann das Board auch über die 4 polige Stiftleiste RS232TTL im TTL-Pegel angesteuert werden.
RS232RING: Dies ist eine besondere Betriebsart, hier wird das Board zwar auch über die 3 polige RS232 Schnittstelle angesteuert, jedoch wird ein zweites beliebiges Board ebenfalls per RS232 mit einer zweiten dreipoligen Stiftleiste NEXTRS verbunden. Zudem muss der Jumper JP6 entfernt werden. Alle eingehenden Daten werden wie üblich auf dem Display dargestellt, jedoch zugleich an das zweite angeschlossene RS232 Board weitergegeben. Die Rückgaben des zweiten Boardes werden dann als Rückgabe von RN-KeyLCD ebenfalls zurückgegeben. Dieser Betriebsart erlaubt also die Zwischenschaltung von RN-KeyLCD in bestehende RS232 Verbindungen. Dies kann nützlich sein, wenn man die gesendeten Daten sichtbar verfolgen will.
I2C: In diesem Modus erfolgt die Steuerung von RN-KeyLCD komplett über den I2C-Bus. Alle Bytes die über den I2C Bus gesendet werden, werden identisch wie die RS232 Bytes behandelt. Die Standard I2C-Slave ID Vorgabe ist Hex 40 (anders als im Bild gezeigt)
RS485: In diesem Modus werden die Daten über eine RS485 Verbindung empfangen und gesendet. Gewöhnlich steht das Board immer im Empfangsmodus- Lediglich bei Abruf von Tastaturereignissen sowie im AUTOSEND-Mode schaltet das Board automatisch ganz kurz auf senden um. Wenn dieser Modus genutzt wird, muss IC1 aus der Fassung entfernt werden und IC3 vorhanden sein. Ein spezielles RS485 Protokoll wird derzeit nicht unterstützt, daher eignet sich dieser Modus vorwiegend auch zur Kontrolle von RS485 Verbindungen.
- Taste 5
Baudrate, also die Übertragunsgeschwindigkeit der RS232 Schnittstelle Wählbar ist: 300, 2400, 9600, 19200, 38400 Baud
- Taste 6
I2C-Slave ID, also die Slave-Adresse über die RN-KeyLCD angesteuert werden soll. Es kann eine beliebige I2C-Slave ID gewählt werden. Somit kann man auch sehr viele RN-KeyLCD Board´s an einem Bus (I2C Kabel) nutzen und getrennt ansprechen. Zudem ist eine wählbare ID sehr günstig wenn man beispielsweise im Hex-Mode die Sendung an ein anderes I2C-Board kontrollieren will. Durch die Taste 6 wird die ID immer um 2 erhöht und beginnt dann schließlich wieder bei 2 von vorn. Über die Taste 7 kann man in größeren Schritten umschalten.
- Taste #
Durch drücken dieser Taste werden die Einstellungen fest gespeichert und das Menü verlassen. Die Einstellungen bleiben auch erhalten wenn das Board von der Spannung getrennt wird! Wurde die SLAVE ID geändert, so wird nach dem Speichern automatisch ein RESET durchgeführt.