Thanks for helping.
(1) The code might be incorrect due to my lack of experience in the
workings of the ooPic but the LCD03 does work with this code.
(2) The SP stuff is needed as this will be used to receive and send
data over the serial port to visual basic application. The windows
application is working and has been tested to received data and send
data. The problem is how to handle the received data on ooPic.
(3) To be honest, "LCD03.Mode = cv10Bit", I do not fully understand
what this does. I have copied this from another example from the
CMP03 digital compass example from the Devantech website.
(4) With reference to "LCD03.Value = 1" this actual does what it says
and starts the cursor at the home location. Details of this can be
found here: http://www.robot-electronics.co.uk/htm/Lcd03tech.htm and
using a trial and error method this actual works on the LCD03
=> I have tried using the Scott Edward LCD example but it does not
seem to work with this decive and .Location could not be used. I
agree with you about using iolines as a serial port to commincate
with the LCD because the LCD picks up data via the serial port when
programming or when receiving data from the PC application. The
reason for not using this method is that I could not get the device
to work in Serial mode. If you have any sugguestion on how to get it
work in serial mode I would be grateful. I have tried the following:
*********************************************************************
Dim LCDStr As New oBuffer20
Dim Sch As New oByte
Dim SP As New oSerialL
Dim i As New Integer
Sub Main()
ooPIC.Delay = 4000
SP.IOLineS = 16
SP.IOLineF = 17
SP.Baud = cv9600
SP.Operate = cvTrue
SP.Value = 12
SP.Value = 19
SP.Value = 4
SP.Value = 12
Do
SP.Value = 1
LCDStr.VString = "Test"
For i = 0 To 4
LCDStr.Location = i
Sch.Value = LCDStr.Value
SP.Value = Sch
Next i
Loop
End Sub
*********************************************************************
Thank you very much for helping.
Regards,
Angelo
--- In oopic@yahoogroups.com, ooPIC Tech Support <dennis.clark@...>
wrote:
>
> Your code is incorrect and it is my guess that your LCD doesn't
work,
> let me comment below:
>
>
> Angelo wrote:
>
> >Hi all,
> >
> >I hope someone can help me with this problem... I have been
fighting
> >with my ooPic for a week now with no luck :(
> >
> >Hardware:
> >(1) ooPic-r
> >(2) Devantech LCD03 (I2C)
> >(3) Laptop with RS232 Serial Port
> >
> >Objective:
> >Using Visual Basic 8 on a Laptop to transmit a short line of text
> >(String) over the RS232 Serial Port that will be displayed on the
LCD
> >on the ooPic-r
> >
> >Issues:
> >Converting the output(byte?) from the ooPic's received buffer to a
> >string to be displayed on the LCD
> >
> >Accomplished thus far:
> >(1) Visual Basic 8 software to send a line of text and received
and
> >convert bytes on a line of text(string)
> >(2) LCD03 setup
> >(3) Convert to string to byte to send to LCD03
> >
> >Could someone please help me figure out how to convert the data
> >coming from the serial port to a string that can be sent to the
LCD03?
> >
> >Regards,
> >Angelo
> >
> >ooPic software thus far:
>
>*********************************************************************
*
> >Dim LCD03 As New oI2C 'I2C Setup for LCD03
> >Dim LCDStr As New oBuffer20 'Buffer LCD String Conversion
> >Dim Sch As New oByte 'Temp Byte Location for LCD String
> >Dim SP As New oSerial 'Serial Port Setup for PC Communication
> >Dim i As New Integer
> >Dim j As New Integer
> >
> >Sub Main()
> > ooPIC.Delay = 4000 'Initializaion delay
> > 'Serial Port Configuration
> > SP.Baud = cv9600 'Serial Port Baud Rate
> > SP.Operate = cvTrue
> >
> >
> The SP stuff is unneeded. Your ooPIC R already has the serial
port
> set up as you defined.
>
> > 'LCD03 Configuration
> > LCD03.Node = 99 'I2C address for LCD03
> > LCD03.Width = cv10Bit
> >
> >
> This should be .Width = cv8Bit or cv16bit.
>
> > LCD03.Mode = cv10Bit
> >
> >
> This means that you are addressing the device internally as
registers,
> 256 of them, correct?
>
> > LCD03.NoInc = cvTrue
> > LCD03.Value = 12 'Clear LCD03 Screen
> > LCD03.Value = 19 'Switch on LCD03 Screen
> > LCD03.Value = 4 'Remove cursor on LCD03 Screen
> > LCD03.Value = 12 'Clear LCD03 Screen
> >
> > Do
> > LCD03.Value = 1 'Start at home position on LCD03 Screen
> >
> >
> Are you sure about that? That should be just writing a value to
the
> device, I think that you should be accessing this some other way.
The
> LCD03 can be used either serial or I2C. I would use serial and use
an
> oSerialL line to talk to it rather than I2C. However if you are
going
> to use it in I2C mode you have to address one of the four
registers, I
> don't see you doing that (.Location= for instance).
>
> Lets start there and see if we can get things going.
>
>
> DLC
>
> > 'String input to LCD03
> > LCDStr.VString = "Test: " & Str$(j)
> > j = j + 1
> > 'Convert to Byte to send to LCD03
> > For i = 0 To 20
> > LCDStr.Location = i
> > Sch.Value = LCDStr.Value
> > LCD03.Value = Sch
> > Next i
> > Loop
> >End Sub
>
>*********************************************************************
> >
> >
> >
> >
> >
> >Yahoo! Groups Links
> >
> >
> >
> >
> >
>
> --
> ------------------------------------------------------
> Dennis Clark ooPIC Tech Support
> www.oopic.com
> ------------------------------------------------------
>
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/oopic/
<*> Your email settings:
Individual Email | Traditional
<*> To change settings online go to:
http://groups.yahoo.com/group/oopic/join
(Yahoo! ID required)
<*> To change settings via email:
mailto:oopic-digest@yahoogroups.com
mailto:oopic-fullfeatured@yahoogroups.com
<*> To unsubscribe from this group, send an email to:
oopic-unsubscribe@yahoogroups.com
<*> Your use of Yahoo! Groups is subject to:
No comments:
Post a Comment