PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : LCD02 - LCD von Roboter-Teile.de mit Bascom ansteuern



Stephan Pika
16.09.2004, 07:31
Hallo,

ich habe mir von roboter-teile.de das LCD Modul bestellt welches man per i2c oder serieller Schnittstelle ansteuern kann. Ich habe das Modul an den i2c Bus vom RN-Control angeschlossen, aber ich bekomme es einfach nicht hin das sich irgendwas auf dem Display ändert. Es zeigt nur nach dem Einschalten "LCD02 REVISION3 I2C MODE" an.

Hat jemand vielleicht ein kleines Beispielprogramm für Bascom?

Danke schon mal im Vorraus,
Stephan

Joerg
16.09.2004, 09:10
Hallo Stephan,

ich nutze leider kein BASCOM, habe auch kein entsprechendes Programm für den LCD02 zur Verfügung.
Kannst du vielleicht mal dein Programm (nur die LCD-relevanten I2C-Teile) hier posten (oder gern auch mailen) um mal einen Blick drauf zu werfen.

Ansonsten bleiben die bei I2C typischen Fehlerquellen: fehlende PullUps (ich glaube die hat das RN-Board schon drauf), SCL/SDA gedreht, fehlende Masseverbindung zwischen Controller und Modul, doppelte Adressvergabe.

Ein Beispielprogramm, allerdings für die BS2 findest du hier: http://www.robot-electronics.co.uk/htm/lcd02bs2p.htm

HTH und Viele Grüße
Jörg

Stephan Pika
16.09.2004, 11:10
Hallo Jörg,

Hier der LCD Teil von meinem Programm.



Dim I As Byte

$crystal = 16000000 'Quarzfrequenz

Config Scl = Portc.0 'Ports fuer I2C-Bus
Config Sda = Portc.1

I2cinit


'****
'LCD02 Devantec Test von Roboter-teile.de
'****

Lcdtest:

Const Lcd_adr = &HC6 'I2C Adr lcd02

Waitms 500

I2csend Lcd_adr , 12 'clear screen

Waitms 500
For I = 32 To 100
I2csend Lcd_adr , I 'gibt einfach ein paar ascii zeichen aus
Waitms 200
Next I
Waitms 5000

End


Wobei du recht hast, auf dem RN-Board sind schon zwei Pullups drauf, SCL und SDA hab ich jetzt nochmal kontrolliert, und auch die Masse Verbindung ist vorhanden (das LCD wird vom Board mit spannung versorgt).

Ich hoffe du oder jemand anderes hat noch ein paar gute Ideen.

Gruß, Stephan

Joerg
16.09.2004, 11:32
Hallo Stephan,

da fehlt der Bezug zu Register 0 drin, versuche mal statt I2Csend folgenden Ablauf:

I2cstart
I2cwbyte Lcd_adr
I2cwbyte 0
I2cwbyte 12 ' ClrScr
I2cstop

HTH und Viele Grüße
Jörg

Stephan Pika
16.09.2004, 12:01
Super,

danke Jörg für die super schnelle Hilfe,
ist schon toll wenn man so einen Service hat. Werde deinen Webshop bestimmt wieder aufsuchen, wenn ich mal wieder was brauche.

Gruß, Stephan

Joerg
16.09.2004, 14:56
Hallo Stephan,

besten Dank für das Lob!

Viele Grüße
Jörg