LCD displaying issues with the 5LP kit

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

So ive been trying to work on getting the kit setup with the CAN/LIN kit and all this time, i couldnt tell if it was working because nothing was showing up on the LCD.

   

After some research and really looking close at the LCD, i noticed that there was text, but it was really faint and flickering. This was at position (0,0)

   

So i changed it to use position (1,0) and not you can really make out the text BUT now its like the flickering has slowed down which is allowing you to make out the text.

   

 

   

What can i check to see if i can resolve this? Is the LCD bad? is it just a programming or configuration issue?

   

The post i found with similar issues was suggesting to revert back to older version of the control, so i went from 2.0 to 1.7 prototype on the LCD.

   

This is the post i found:

   

www.cypress.com/?app=forum&id=2233&rID=76222

   

Ive gone thru 1.7, 1.8, 1.9(where im currently at) and you cant see any text when on position (0,0) but you can really see it on position (1,0) but has a slight flicker to it, like someone purposely added that as an effect.

   

 

   

Any help or suggestions would be great.

   

 

   

thank you

0 Likes
10 Replies
HeLi_263931
Level 8
Level 8
100 solutions authored 50 solutions authored 25 solutions authored

The flickering most likely comes from updating the display too often (maybe with a display clear inbeetween). Try to slow down the update (either by adding a delay, or by updating only when the data changes).

   

If you resolve the flickering, and the display is still not readable, try to change the contrast of the LCD (you need to add the trimmer for this).

0 Likes
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

Are you sure the CAN/LIN interface does not use Port2 of your board? Something in my mind rings that I may have read something telling that...

   

 

   

Bob

0 Likes
ETRO_SSN583
Level 9
Level 9
250 likes received 100 sign-ins 5 likes given

One method of eliminating flicker in a loop that frequently updates LCD is

   

create a virtual LCD buffer, say 2 x 17 in RAM if its a 2 X 16. Routine

   

when it goes to write, checks the buffer character for character, and

   

if any character is found different old vs new, that is updated in buffer

   

and that character is written out to display.

   

 

   

I used this technique and completely eliminated all artifacts from the LCD.

   

 

   

Regards, Dana.

0 Likes
Anonymous
Not applicable

hli,
Currently there is no delay, so i will try that first.

   

Bob,
Where would i look to verify if that is true? Also at the momemt, because i wasnt seeing any readings from the Truck i was connecting to, im just writing the word "Hello" to the LCD for testing and debugging.

   

danaknight,
I will look into this as well, as i am still learning im sure there will be things ive over looked.

   

 

   

I really appreciate the suggestions and will try them and look into them.

   

 

   

thank you

0 Likes
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

Have a look into the manual of the CAN board you use, it tells exactly what to do when connecting to one of the kits.

   

Could of course be that I am mistaken and the matter was concerned not with CAN.

   

 

   

Bob

0 Likes
Anonymous
Not applicable

ok, i looked and only mention of Port2 was in section 4.5.1 and stated the following:

   

Jumper Settings of CY8CKIT-001 DVK for Using Port B
Port B uses the port 2 GPIO pins to connect to two of the LEDs and the two LIN transceiver circuits
on the expansion board. Therefore, switch the jumper J12 to ‘Off’ position; this switches off the
power for the character LCD that is connected to port 2 of the CY8CKIT-001 DVK. This means that
the LCD on the DVK cannot be used when the port 2 GPIO pins are used and the expansion board
is occupying port B of the DVK.

   

 

   

Now that is referring to a kit i dont have and not using, so dont think it would pertain to me.

   

But will def look and try and keep in mind..

   

thank you

0 Likes
HeLi_263931
Level 8
Level 8
100 solutions authored 50 solutions authored 25 solutions authored

As long as the LCD shows the text as such properly, I don't think this is a port issue. And its not really prossible to connect two components to the same port, Creator prevents that.

0 Likes
Anonymous
Not applicable

Well got the LCD displaying correctly with the simple addition of the delay

   

 #include <project.h>

uint8 Rx_Data;

int main()
{
    CyGlobalIntEnable;
    CAN_1_Start();
    LCD_Char_1_Start();
    
    for(;;)
    {
        /* Place your application code here. */        
        LCD_Char_1_ClearDisplay();
        CAN_1_ReceiveMsg0();
        LCD_Char_1_Position(0,0);        
        LCD_Char_1_PrintString("Engine Oil Temp");
        LCD_Char_1_Position(1,0);
        LCD_Char_1_PrintNumber(Rx_Data);
        CyDelay(1000);
    }
}

   

 

   

Now on to my next issue.

0 Likes
HeLi_263931
Level 8
Level 8
100 solutions authored 50 solutions authored 25 solutions authored

There is always one more issue left 😞

0 Likes
Anonymous
Not applicable

Very true, but actually seeing text on the LCD gave me hope 🙂

   

I really appreciate the help and suggestions.

0 Likes