I normally
PAUSE 150
after updating a display.
But that sounds like a problem for your app.
Does all four line need updated that often? maybe a 7 seg LED bank for the fast updates?
I normally
PAUSE 150
after updating a display.
But that sounds like a problem for your app.
Does all four line need updated that often? maybe a 7 seg LED bank for the fast updates?
Dave
Always wear safety glasses while programming.
Yes, it will definitely be a problem unless I come up with a better way of updating the display. Right now, it displays "live data" as it happens and depending on the events, the refresh rate could even be as often as 50 ms.
So, with 150 ms pause, you see no issues with formatting, weird characters, etc?
No problems with the PAUSE 150.
Post you LCD setup and a snippet where the problem happens. We might see a better work around?
Dave
Always wear safety glasses while programming.
Isn't there a "Ready" or "Busy" bit sent by the display that you can read to determine when the display is ready to accept more data? I think it is one of the bits returned when you do a read in instruction mode.
Tim Barr
Sorry guys, got sidetracked here....
OK, here is the snippet of the code. This is essentially a display routine, which will fire up everytime one of the SPEEDUNITS varaiables changes. This could be as often as 20 ms.
However, I have also noticed this problem with slower update speeds (ie. 1 second).
I'm driving a 4x20 display using 4 data lines.
Code:DisplayResults: lcdout $fe,1,$fe,2 ' Clear Display lcdout $fe,$80,#Speedunits[0], " FPS" ' Display pulse value lcdout $fe,$89,#Speedunits[1], " FPS" ' Display pulse value lcdout $fe,$C0,#Speedunits[2], " FPS" ' Display pulse value lcdout $fe,$C9,#Speedunits[3], " FPS" ' Display pulse value lcdout $fe,$94,"Top Speed ",#PeakSpeed," FPS" return
You are using 14 spaces in the above with text, then what ever the VAR is using. Add that to the four blank spaces, $94, you might be running out of spaces?Code:lcdout $fe,$94,"Top Speed ",#PeakSpeed," FPS"
You might try
Code:lcdout $fe,$90,"Top Speed ",#PeakSpeed," FPS"
Dave
Always wear safety glasses while programming.
Hi, Just try to place your " LCDOUT $FE,1 " command OUTSIDE your loop ... ( really needed once only in a program !!! @ top lines i.e. )
so your sub comes to:
Will handle the 50 Hz refreshment, now ...Code:DisplayResults: lcdout $fe,$80,#Speedunits[0], " FPS" ' Display pulse value lcdout $fe,$89,#Speedunits[1], " FPS" ' Display pulse value lcdout $fe,$C0,#Speedunits[2], " FPS" ' Display pulse value lcdout $fe,$C9,#Speedunits[3], " FPS" ' Display pulse value lcdout $fe,$94,"Top Speed ",#PeakSpeed," FPS" return
and note " Home " command already included in the " lcdout $fe,1 " and " lcdout $fe,$80 " commands ...
Alain
Last edited by Acetronics2; - 11th June 2010 at 12:51.
************************************************** ***********************
Why insist on using 32 Bits when you're not even able to deal with the first 8 ones ??? ehhhhhh ...
************************************************** ***********************
IF there is the word "Problem" in your question ...
certainly the answer is " RTFM " or " RTFDataSheet " !!!
*****************************************
Hi guys... sorry for the delay.
I've done some extensive testing on the LCD displays and Acetronics is right! I'm using a single reset at the top of the program now and clear the screen thereafter.
Works like a charm now, no funny characters and everything falls in place perfectly.
Thanks to all of you guys for your input and Acetronics for nailing it.
Bookmarks