deswegen die i2c-multibus.lib . Sie arbeitet nur per Software
Ich bin nicht glücklich. Hier mal mein Mist:
Alles anzeigen
Nachdem ich nur einzelne Buchstaben ausgab ging humpelt es.
Ich bin nicht glücklich. Hier mal mein Mist:
Quellcode
- $regfile = "m8def.dat"
- $crystal = 1000000
- $hwstack = 32
- $swstack = 10
- $framesize = 80
- Config Base = 0
- '$lib "I2C_TWI-MULTI.lib"
- '$lib "i2c_twi.lib"
- $lib "i2c-multibus.lib"
- Config I2cbus = 0 , Scl = Portc.5 , Sda = Portc.4
- Config I2cbus = 1 , Scl = Portd.1 , Sda = Portd.0
- 'Config Sda = Portc.4
- 'Config Scl = Portc.5
- 'Config Twi = 50000 'Normal 100000=100kHz
- Config I2cdelay = 20
- $lib "YwRobot_Lcd_i2c_obl.lib"
- Const L0 = $4e
- Const L1 = $7c
- Dim Pcf8574_lcd As Byte , Lcd_backlight As Byte
- Lcd_backlight = 0
- Dim Text As String * 16 'LCD Ausgabe
- Dim Lcd_text(16) As Byte At Text Overlay 'ASCII-Werte der LCD Ausgabe
- Dim Init(9) As Byte 'Byte-Array für LCD-Parameter
- Dim Z As Byte
- Dim Pcx_lcd As Byte
- 'Const Pcx_lcd = &H4E 'I2C-Adresse des PCx8574(A)
- Pcx_lcd = L1
- Pcf8574_lcd = L1
- I2cbus = 1
- I2cinit
- Waitms 60
- I2csend L1 , 255 'Initlcd
- Waitms 600
- I2csend L1 , 0
- Wait 2
- Lcd_backlight = 0
- Lcdinit
- Waitms 600
- 'Lcd "x"
- Pcf8574_lcd = L0
- Pcx_lcd = L0
- I2cbus = 0
- I2cinit
- Waitms 60
- 'Lcd_backlight = 1
- I2csend L0 , 255 'Initlcd
- Waitms 600
- 'Lcd_backlight = 0
- I2csend L0 , 0
- Wait 2
- Lcd_backlight = 1
- Lcdinit
- Waitms 60
- 'Lcd "H"
- Wait 2
- 'Locate 2 , 1
- ' Lcd "dunkel"
- Dim A As Byte , B As Byte , C As Byte , D As Word
- Waitms 600
- B = 97
- A = 65
- Do
- Toggle Lcd_backlight
- C = Lcd_backlight * 255
- 'I2csend L1 , C
- Pcx_lcd = L0
- Pcf8574_lcd = L0
- I2cbus = 0
- Lcd Chr(a)
- Incr A
- Incr B
- If A >= 81 Then
- A = 65
- B = 97
- 'Locate 2 , 1
- 'Lcd "Und neu"
- Wait 2
- Cls
- End If
- Wait 3
- Pcx_lcd = L1
- Pcf8574_lcd = L1
- I2cbus = 1
- 'Lcd 1 , 1 , "Hier ist LCD 1"
- 'Locate 2 , 1
- Lcd Chr(b)
- 'I2csend L0 , C
- If A = 80 Then Cls
- Loop
- End