Oh, Entschuldigung, sind hier in C-Basic, das Programm läuft auf ner C-Control PRO per I2C über einen PCF8574.
Hier etwas mehr Code:
Code:Sub main() I2C_Init(I2C_100kHz) LCD_Init_I2C(abInitOptions) LCD_Clear_I2C() LCD_Locate_I2C(2, 1) LCD_WriteText_I2C("Hälli hällo!") End Sub Sub LCD_WriteText_I2C(ByRef cText As Char) Dim i As Integer i = 0 'Übergebenes Char-Array ausgeben. Do While cText(i) > 0 If cText(i) = "ä" Then LCD_Write_I2C(1, 238) Else LCD_Write_I2C(1, cText(i)) End If i = i + 1 End While End Sub Sub LCD_Write_I2C(bIsData As Byte, bData As Byte) Dim bDataOut As Byte 'RS high setzen falls Datenausgabe gewünscht (bRS = 1). If bIsData > 0 Then : bIsData = LCD_RS : End If '*** High Nibble *** bDataOut = bIsData Or (bData >> 4) I2C_Out(bDataOut, 1) '*** Low Nibble *** bDataOut = bIsData Or (bData And 0x0F) I2C_Out(bDataOut, 1) End Sub Sub I2C_Out(bData As Byte, bPulseE As Byte) If bPulseE > 0 Then I2C_Start() I2C_Write(I2C_PCF_ADDR) I2C_Write(bData Or LCD_EN) I2C_Stop() AbsDelay(1) End If I2C_Start() I2C_Write(I2C_PCF_ADDR) I2C_Write(bData) I2C_Stop() End Sub







Zitieren

Lesezeichen