OK, weil bis jetzt niemand gepostet hat (war ja auch Wochenende) vielleicht etwas mehr Infos.
Der Code ist der aus den Beispielen von der Seite von Stefan.


'------ I/O PORTS ---------
'--------------------------
'--- IIC INTERFACE -------
define SDA port[9]
define SCL port[10]
'--------------------------
'------ SYSTEM MEMORY -----
'--------------------------

Import "..\Lib\ASCII_TABLE.blib"
Import "..\Lib\IIC_LCD_DRIVE.blib"





'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
'II PCF 8574 POERWEITERUNG FÜR LCD II
'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
LCD.INIT
LCD.OFF
'---------- IICBUS INIT ------------------------
SDA=on
SCL=on
'----------------------------------------------
pause 2
LCD_INIT()

'----- WRITE CHARACTERS LINE 1 ---------------
LINE1(4)
LCD_WRITE(20h,U)
LCD_WRITE(20h,N)
LCD_WRITE(20h,I)
LCD_WRITE(20h,T)

LCD_WRITE(20h,BLANK)
LCD_WRITE(20h,M)
LCD_WRITE(20h,BLANK)
LCD_WRITE(20h,Z2)
LCD_WRITE(20h,DOT)
LCD_WRITE(20h,Z0)

#LOOP
goto LOOP
'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII

In der IIc_LCD_DRIVE.blib habe ich den byteport auf 8 gesetzt
, da alle drei Adressjumper am Modul gesetzt sind. Die Pullups sind ebenfalls aktiviert.
Der Code :
'--- PCF 8574 LCD DRIVER AT ADDR 5 / EXT BYTEPORT 8 ---
'-------------------------------------------------------
FUNCTION LCD_WRITE(BUF as byte,LCDDATA as byte)
define EXTPORT byteport[8]
define OUTBYTE as byte
'--------- ------WRITE HI NIBBLE ------------------------
OUTBYTE=BUF or (LCDDATA shr 4)
EXTPORT=OUTBYTE or 01000000b
EXTPORT=OUTBYTE and 10111111b
'--------------- WRITE LO NIBBLE ------------------------
OUTBYTE=BUF or (LCDDATA and 0Fh)
EXTPORT=OUTBYTE or 01000000b
EXTPORT=OUTBYTE and 10111111b
END FUNCTION
'-----------------------------------------------------
FUNCTION LCD_CLR()
LCD_WRITE(0,02h)
LCD_WRITE(0,01h)
pause 2
END FUNCTION
'----------------------------------------------------
FUNCTION LCD_INIT()
define EXTPORT byteport[8]
EXTPORT=0
LCD_WRITE(0,38h)'0=WRITE CMD
EXTPORT= 00000010b
EXTPORT= 01000010b
EXTPORT= 00000010b
LCD_WRITE(0,28h)
LCD_WRITE(0,0Ch)
LCD_CLR()
END FUNCTION
'----------------------------------------------------
FUNCTION LINE1(POS as byte)
LCD_WRITE(0,7Fh+POS)
END FUNCTION
'----------------------------------------------------
FUNCTION LINE2(POS as byte)
LCD_WRITE(0,BFh+POS)
END FUNCTION
Warum geht das ganze nicht?
Eine Frage anbei: Ich habe die Unit geschenkt bekommen und habe gelesen, daß es Updates des OS gibt, könnte das der Grund für ein NICHTfunktionieren der Unit sein?

MfG

Jens