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