Hallo
Ich habe nun die Datenblätter des RNMega8Plus und des RN-LCD-Adapters angeschaut und die Pinbelegungen der Steckverbindungen überprüft:
Oben: Belegung des RN-LCD-Adapters. Laut Schaltplan stimmt auch die Verbindung zu den 2x9 Pins des aufsteckbaren LCD.Code:// Pinout LCD Display-Anschluß nach Roboternetznorm RN-LCD-Adapter // Pin 1 LCD DB7 // Pin 2 LCD DB6 // Pin 3 LCD DB5 // Pin 4 LCD DB4 // Pin 5 Licht ein/aus per Port (da EN2 hier nicht benötigt wird) // Pin 6 LCD EN // Pin 7 LCD R/W // Pin 8 LCD RS // Pin 9 GND LCD GND und Licht Kathode // Pin 10 +5V LCD VCC und Licht Anode// LCD DB4-DB7 <--> PORTD Bit PD0-PD3 // Pinout LCD Display-Anschluß nach Roboternetznorm RNMEGA8PLUS // Pin 1 DB7 PD5 // Pin 2 DB6 PD4 // Pin 3 DB5 PD3 // Pin 4 DB4 PD2 // Pin 5 EN2 PD7 (wird nur bei manchen LCDs benötigt) // Pin 6 EN PC3 // Pin 7 R/W PD6 // Pin 8 RS PC2 // Pin 9 GND // Pin 10 +5V #define LCD_PORT PORTD #define LCD_DDR DDRD #define LCD_DB PD4 // LCD RS <--> PORTD Bit PD4 (RS: 0=Data, 1=Command) #define LCD_RS PD2 // LCD EN <--> PORTD Bit PD5 (EN: 1-Impuls für Daten) #define LCD_EN PD3
Mitte: Belegung des LCD-Ports auf dem RNMega8Plus. Stimmt mit der Abschluß am Adapter überein bis auf E2
Unten: Die Defines in lcd-routines.h passen nicht zu der Belegung vom RNMega8Plus!!!
Außerdem wird der R/W-Pin nicht definiert. Da beim Schreiben das Busy nicht geprüft wird und auch keine lesenden Funktionen vorhanden sind gehe ich davon aus, dass die Lib davon ausgeht, dass R/W low ist (Brücke zu GND. Ohne Brücke ist auch die jumperbare Verbindung der freien D0 bis D3 zu GND kritisch!).
Gruß
mic
http://www.robotikhardware.de/download/rnmega8plus.pdf
http://www.robotikhardware.de/downlo...CD_adapter.pdf
[Edit]
Code:// Pinout LCD Display-Anschluß nach Roboternetznorm RNMEGA8PLUS // Pin 1 DB7 PD5 // Pin 2 DB6 PD4 // Pin 3 DB5 PD3 // Pin 4 DB4 PD2 // Pin 5 EN2 PD7 (wird nur bei manchen LCDs benötigt) // Pin 6 EN PC3 // Pin 7 R/W PD6 // Pin 8 RS PC2 // Pin 9 GND // Pin 10 +5V // Defines der Ports des RNMega8Plus für die LCD-Lib von Peter Fleury // R/W geht auf PD6! #define LCD_PORT PORTD /**< port for the LCD lines */ #define LCD_DATA0_PORT LCD_PORT /**< port for 4bit data bit 0 */ #define LCD_DATA1_PORT LCD_PORT /**< port for 4bit data bit 1 */ #define LCD_DATA2_PORT LCD_PORT /**< port for 4bit data bit 2 */ #define LCD_DATA3_PORT LCD_PORT /**< port for 4bit data bit 3 */ #define LCD_DATA0_PIN 2 /**< pin for 4bit data bit 0 */ #define LCD_DATA1_PIN 3 /**< pin for 4bit data bit 1 */ #define LCD_DATA2_PIN 4 /**< pin for 4bit data bit 2 */ #define LCD_DATA3_PIN 5 /**< pin for 4bit data bit 3 */ #define LCD_RS_PORT PORTC /**< port for RS line */ #define LCD_RS_PIN 2 /**< pin for RS line */ #define LCD_RW_PORT PORTD /**< port for RW line */ #define LCD_RW_PIN 6 /**< pin for RW line */ #define LCD_E_PORT PORTC /**< port for Enable line */ #define LCD_E_PIN 3 /**< pin for Enable line */







Zitieren

Lesezeichen