Anoniem
Ik heb een simpele vraag.
Namelijk is het goed voor het LCD als deze iedere loop wordt geupdate?
Ik heb namelijk tekst in beeld staan met een klok eronder, nu wordt dus iedere keer het display geupdate met dezelfde tekst en een andere tijd.
Ik weet dus niet of dit goed is voor het LCD (zoveel schrijf bewerkingen), voor mijn programma maakt het niet uit want zo tijd kritisch is het niet.
Alvast bedankt voor de reacties
Dat is niet erg voor je display, maar vaak zie je dat het scherm zo vaak wordt geupdate per seconden dat het niet meer leesbaar is.
Als er een klok op het display staat laat ik deze elke seconden updaten door simpel iets te maken dat het scherm update als de seconden <> als de vorige seconden.
Ik zou gewoon een timer pakken en die instellen op een paar interrupts per seconde (2-4). En dan in de interrupt je lcd even updaten.
pros
Prosper, yop la boum, c'est le roi du macadam (aldus Maurice Chevalier)
Ook als je geen nieuwe data naar de LCD-controller stuurt, zal die toch het eigenlijke LCD-scherm constant van nieuwe gegevens voorzien. Het betreft immers een dot-matrix scherm, dat via multiplexing wordt aangestuurd.
Arco
Special Member
Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
Als het een LCD module is met controller, dan alleen updaten als er echt iets veranderd is aan de inhoud. Als het een los LCD display is, dan moet je het zowiezo enkele tientallen malen per seconde verversen dus dan maakt het niet zo veel uit .
Anoniem
Het wordt er een met controller, maar waar ik dus mee zit is, er komt dus een vaste tekst op te staan, met tekst die veranderd.
Er is een pagina met vaste tekst en een klok, dan 1tje met temperatuur en aantal % gedimt.
Maar nu ben ik dus met de software bezig, en dan loop ik tegen het probleem aan van, zal ik het hele display updaten of alleen wat er veranderd (ik wil wel een beetje real-time waarders laten zien).
Maar als ik dus alleen update wat er veranderd is krijg wel heel veel code en het moet natuurlijk wel in de PIC passen 
ik heb nu dit in C
if ( MenuPage != OldMenuPage )
{
switch( MenuPage )
{
Case( 0 ):
Code
Case( 1 ):
Code
}
}
if (MenuPage == 0 )
{
Code
}
Dus ja dat kost zo veel code (er komen nog meer pagina's bij) en als ik natuurlijk alleen de switch erin laat zitten dan ken ik daar alle data in updaten, maarja zoals mijn vraag al luid gaat het display daar niet van stuk?
Arco
Special Member
Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
Het display gaat er niet van kapot, maar als de info erg vaak verandert, zie je alleen nog maar een vlek in plaats van iets nuttigs... (LCD is nu eenmaal traag, en het instellen duurt van enkele mS tot tientallen mS afhankelijk van het display)
Anoniem
Ja ok, maar dat kan ik later altijd nog aanpassen in de software.
Ok dan zorg ik gewoon dat bij iedere loop de data wordt geupdate (en dan zet ik als het nodig is er later nog wel een delay in)
Bedankt voor de reacties.
klein is fijn
Moderator
Ik had laatst nog een progje dat 200 keer per seconde een waarde naar een LCD stuurde, maar zolang de waarde de hele tijd hetzelfde bleef zag ik niets knipperen. Je moet dan wel de oude data rechstreeks overschrijven met de nieuwe data, en een paar spaties als je iets wilt wissen. Cls of dergelijke Clear LCD bewerkingen zijn onhandig en traag.
Bij normale toepassingen hou ik overgens maximaal 5 updates per seconde aan, dat is goed leesbaar.
[Bericht gewijzigd door klein is fijn op (15%)]
FullPower
De grootste moeilijkheden liggen daar waar we ze niet zoeken. [Goethe]
Op 17 maart 2009 11:13:15 schreef Scartie:
Ja ok, maar dat kan ik later altijd nog aanpassen in de software.Ok dan zorg ik gewoon dat bij iedere loop de data wordt geupdate (en dan zet ik als het nodig is er later nog wel een delay in)
Bedankt voor de reacties.
Niet erg zinvol 100% CPU te gebruiken voor het updaten van het display... Normaal alleen de dingen updaten die veranderen. Eventueel met een interval van een paar seconden het gehele display verversen, voor het geval er 'iets is omgevallen' in het display.
Zoals al eerder in dit topic is vermeld heeft verder geen zin om continue veranderende dingen vaker dan 5x seconden te wijzigen; wordt er dan niet leesbaarder op. 1x seconde is in de meeste gevallen ook heel bruikbaar. Vooral als het koud is (afh. van display) wordt de boel onleesbaar vanwege traagheid van het LCD.
FullPower.
Anoniem
Ok duidelijk, dan denk ik dat het code-wise voor mij het makkelijkst is om dan 1x per seconde het hele display te updaten (en dan alleen te CLSen als ik naar een andere pagina spring).
Die 1x per seconde kan ik goed afpakken van mijn klok, want daar heb ik toch ook al een functie tussen lopen die om de 5 seconden een ander status venster laat zien (hij loopt als het ware door 3 schermen heen).
Nogmaals bedankt