-
Ich nehme mal an das in deinem alten Programm der Kontroller R/W gesteuert hat.
Das BASCOM Programm macht das nicht. Also musst du entweder die Verbindung von R/W zum Kontroller trennen und Richtung LCD auf GND legen, mit einem Stück Draht oder wie auch immer.
Oder du sagst dem Kontroller über BASCOM das er den PortC.5 auf GND legen soll.
Warum soll das mit BASCOM nicht gehen? Wie bringst du denn eine Led zum leuchten?
-
dank Dir für Deine hilfe!
hab jetzt - genial - die original-demo (HEX-datei) vom deltawave-board im netz gefunden, draufgespielt und alles ist wieder OK.
jetzt würde mich natürlich der code interessieren. ich nehme an, es ist in C programmiert, da bin ich blank. es sind ein haufen andere dateien dabei (*.c, d, h, lst, makefile und so.
HEX => ASCII gibts genug programme. wie geh ich vor?
lg
Marcel
-
Schau doch einfach in die *.c - Dateien. Da steht der Code drin. Dann gibt's noch die *.h-Dateien (Header), das sind eigentlich nur Definitionen und Prototypen von Methoden.
HEX->ASCII führt hier nicht zum Ziel.
-
danke, bin grad dabei!
lg M.
-
Da gibt es sicher eine lcd.h Datei in der die Zuordnung steht.
-
:-) danke für Deine geduld! :-)
LCD.h:
Code:
#define LCD_PORT PORTC /**< 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 0 /**< pin for 4bit data bit 0 */
#define LCD_DATA1_PIN 1 /**< pin for 4bit data bit 1 */
#define LCD_DATA2_PIN 2 /**< pin for 4bit data bit 2 */
#define LCD_DATA3_PIN 3 /**< pin for 4bit data bit 3 */
#define LCD_RS_PORT LCD_PORT /**< port for RS line */
#define LCD_RS_PIN 4 /**< pin for RS line */
#define LCD_RW_PORT LCD_PORT /**< port for RW line */
#define LCD_RW_PIN 5 /**< pin for RW line */
#define LCD_E_PORT LCD_PORT /**< port for Enable line */
#define LCD_E_PIN 6 /**< pin for Enable line */
#elif defined(__AVR_AT90S4414__) || defined(__AVR_AT90S8515__) || defined(__AVR_ATmega64__) || \
defined(__AVR_ATmega8515__)|| defined(__AVR_ATmega103__) || defined(__AVR_ATmega128__) || \
defined(__AVR_ATmega161__) || defined(__AVR_ATmega162__)
/*
* memory mapped mode is only supported when the device has an external data memory interface
*/
#define LCD_IO_DATA 0xC000 /* A15=E=1, A14=RS=1 */
#define LCD_IO_FUNCTION 0x8000 /* A15=E=1, A14=RS=0 */
#define LCD_IO_READ 0x0100 /* A8 =R/W=1 (R/W: 1=Read, 0=Write */
#else
#error "external data memory interface not available for this device, use 4-bit IO port mode"
ich nehme an, daß der code
Code:
#define LCD_IO_DATA 0xC000 /* A15=E=1, A14=RS=1 */
#define LCD_IO_FUNCTION 0x8000 /* A15=E=1, A14=RS=0 */
#define LCD_IO_READ 0x0100 /* A8 =R/W=1 (R/W: 1=Read, 0=Write */
besagt, dass R/W (nur in C verfügbar?!] konfiguriert werden kann.
Bascom verweigert, daher hab ich die (ohnehin immer richtige!) config lcdpin gelassen und wirklich einen R3K von R/W (PC.5) nach GND gehängt, und sieheda, es ward LICHT-
nocheinmal schönen Dank!
-
Das schaut nach der lcd-Lib von Fleury aus.
Da gibt es eine Änderung das sie bei Bedarf auch ohne R/W funktioniert.
Aber Hauptsache das es so funktioniert.
-
Zitat:
lcd-Lib von Fleury:
kompliment, ist es auch. ist von deltawave in einer zip samt etlichen anderen demos dabeigewesen (der link dazu; jetzt gibz die deltawaves offenbar nicht mehr).
problem beseitigt, thema geschlossen. danke nochmals :-)