Hoe krijg ik karakters op de rechter helft hiervan ?
Ik zie nu: Hello Wo (dit zijn dus 8 plekken) Meer niet. Is het zo dat de cursor niet vanzelf op de rechterhelft schuift ? Nu verhoog ik het DDRAM adres telkens met 1, na de 8ste keer werkt dat niet meer.
De HD44780 zelf heeft geen 'rechter helft', maar misschien dat de display fabrikant het nodig vond om de laatste 8 karakters op latere segmenten te zetten en er dus een gat in de adres ruimte zit. Of men heeft zelfs de rechterhelft als 2e regel ingesteld. Probeer eens de gehele adres ruimte voor 1 regel (0x00 - 0x4F) of voor 2 regels (0x00 - 0x27, 0x40 - 0x67) vol te schrijven.
Het kan ook zijn dat je gewoon te snel wilt schrijven, die controller is echt langzaam. Dus hou je aan de timing uit de datasheet en controleer ook echt de busy flag. Als je een scoop hebt, meet dan de timing na.
Ook kunnen de shift instructies vreemde effecten geven. Kijk dus je gehele initialisatie en aansturing na. Gebruik je de 4-bit of de 8-bit interface?
--
Stef (remove caps, dashes and .invalid from e-mail address to reply)
What an artist dies with me!
-- Nero
Ben eruit, ik moet de cursor op 0x40 zetten. Linker helft zit op DDRAM 00 - 07, rechter helft van 40 - 47. Alleen hoe ? Als ik het DDRAM op 0x40 zet zie ik niets verschijnen. Een FAQ zegt dat ik de cursor op 0x40 moet zetten, alleen hoe doe ik dit ?
8-bit. Timing heb ik wat ruimer gezet dan de datasheet (init), het werkt verders perfect.
Logisch eigenlijk, in de datasheet staat op de eerste pagina eigenlijk al dat een stand-alone HD44780 1 of 2 regels van 8 chars kan weergeven, voor meer chars per regel heb je een extension driver nodig.
Je moet om te beginnen de controller instellen op 2 regels. Je hebt in feite een display van 2x8 met de regels achter elkaar i.p.v. onder elkaar. Verder entry mode etc instellen. En dan moet je DDRAM adres kunnen zetten en vervolgens zou data schrijven de chars op het LCD moeten zetten. Het zetten van DDRAM adres zorgt er gelijkertijd voor dat data read/write operaties naar DDRAM gaan.
--
Stef (remove caps, dashes and .invalid from e-mail address to reply)
About all some men accomplish in life is to send a son to Harvard.
De meeste modi van het display verschuiven de display pointer automatisch als je een karakter naar het display schrijft. Dus als je 'Hello world' schrijft komen deze allemaal op het scherm. Er is geen 'rechter helft' of zo.
Ben er ondertussen achter (volledig) Een 1x16 LCD is in feite een 2x8, alleen dan niet onder elkaar, maar naast elkaar gezet (werkt dus idem als een 2x8) Ik moest em eerst op
2-line initiliseren (1-line heb je dus alleen de linker "helft" van een 1x16) Daarna het DDRAM adres op 0x40 gooien. Dan zit je op de digits 8-15, anders 0-7.
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.