Thanks for your help.
I have got the LCD03 working in serial mode and the setup the serial
commincation with my PC.
Here is the code I used if future users require it:
Dim LCD03 As New oSerialL
Dim SP As New oSerialPort
Sub Main()
ooPIC.Delay = 4000
SP.Baud = cv9600
SP.Operate = cvTrue
LCD03.IOLineS = 16
LCD03.Baud = cv9600
LCD03.Value = 12
LCD03.Value = 4
LCD03.Value = 19
Do
If S.Received Then
LCD03.Value = SP.Value
End If
Loop
End Sub
Regards,
Angelo
--- In oopic@yahoogroups.com, <dennis.clark@...> wrote:
>
> I didn't notice that the LCD used flow control. Try not using
IOlineF.
>
> DLC
>
> ooPIC Tech Support
>
> -----Original Message-----
>
> From: "Angelo" <mowens18@...>
> Subj: [oopic] Re: Help with incoming Serial Communcation from PC
to ooPic-R I2c LCD03
> Date: Wed Dec 12, 2007 3:02 am
> Size: 5K
> To: oopic@yahoogroups.com
>
> Hi Dennis,
>
> 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
>
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