BASCOM Lib für I²C LCD Modul von eBay

OP #4438351
Lesenswert?
• ▲
▼
Hallo liebes Forum,
ich bin neu hier und habe auch gleich eine Frage:

Ich suche für BASCOM eine Lib, um über I²C Modul mit einem PCF8574 (von 
eBay; Bild im Anhang) ein 20x4 LCD anzusteuern.

Es gibt ja einige Libs im Internet, allerdings habe ich noch keine 
gefunden, welche mit der Anschlussbelegung des Moduls vom eBay 
übereinstimmt.

Die Anschlussbelegung des Moduls ist folgende:

P0 : RS
P1 : RW
P2 : E
P3 : Backlight LCD
P4 : D4
P5 : D5
P6 : D6
P7 : D7

Ich hoffe, ihr könnt mir helfen!

Alexander_43
Angehängte Dateien:
OP #4438380
Lesenswert?
• ▲
▼
Leider haben die fertigen Module meines Wissens nach immer dieselbe 
Belegung und ich würde halt gerne dieses Modul verwenden, da ich es 
schon gekauft habe. Vor dem Kauf hätte ich nicht gedacht, dass das mit 
der Lib so ein Problem wird.
Vielleicht kennt ja aber auch jemand eine Lib, bei der ich die Pins 
individuell konfigurieren kann?

Vielen Dank für die Hilfe im Voraus!
OP #4438846
Lesenswert?
• ▲
▼
Vielen Dank für die Antwort!

Soweit läuft das Ganze auch, allerdings möchte ich Hardware I²C 
verwenden. Dazu habe ich die "i2c_twi.lbx" reingeladen und das config 
SCL/SDA weggelassen. Das Ganze funktioniert soweit auch. Allerdings 
bringt BASCOM mit der "i2c_twi.lbx" und ohne das config SCL/SDA mehrere 
Fehlermeldungen. Funktionieren tut es trotzdem.

Mein Problem ist nur, dass meine gemessene Bus-geschwindigkeit (Oszi an 
SCL) bei 2,85 KHZ liegt, obwohl ich Config Twi = 100000 angegeben habe. 
Da ich später noch eine DS1307 im Bus mit anschließe, kann ich maximal 1 
kHz Busgeschwindigkeit haben.

Ich hoffe, jemand weis eine Lösung für die Probleme.
Vielen Dank im Voraus!

Hier mein code:


$regfile = "M8adef.dat"
$crystal = 8000000
$hwstack = 50
$swstack = 50
$framesize = 100

'Config Scl = Portc.5 
'Konfigurieren von I2C
'Config Sda = Portc.4



$lib "YwRobot_Lcd_i2c.lib"   'YwRobot Treiber für LCD
$lib "i2c_twi.lbx"
Config Twi = 100000


'**********************************************************
'******************* Deklarationen ************************

Const Pcf8574_lcd = 126              'Adresse des I2C-LCDs
Dim Lcd_backlight As Byte  '1 = an; 0 = aus. Wird erst durch einen 
'LCD-Befehl umgesetzt!

'****************** Initialisierung ***********************

Config Lcd = 20 * 4
Waitms 300      'warte bis Kondensator bei Ta0 geladen, auch für 
LCD-Init!


'**********************************************************
'******************** Hauptprogramm ***********************

Cls
Lcd "Hello world!"
Wait 1
Lcd_backlight = 0
Locate 2 , 1
Lcd "2. row..."
Wait 2
Lcd_backlight = 1
Locate 3 , 1
Lcd "3. row..."
Locate 4 , 1
Lcd "4. row..."
End

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.