0
\$\begingroup\$

While I have successfully cleared all the lcd display with the help of some guys here by a cheat code (because it doesnt really delete the display)for (int i=0; i < 80; i++), Now I needed to delete single character on my lcd display.

Note: I am using serial communication with my lcd module. I intensively search the internet but I could not find any solution, Is there anyone who had an Idea to do so?

\$\endgroup\$
  • 3
    \$\begingroup\$ Why do people always write/say "LCD display"? The D stands for display! \$\endgroup\$ – Samuel Jan 16 '14 at 22:32
  • 1
    \$\begingroup\$ The e-Term actually consists of an LCD, a keypad and a microcontroller with a serial port. Whoever wrote the software for the microcontroller defined whatever display manipulations are going to be possible via the serial port. However, while the hardware manual is readily available, I can't find any hint of a software/protocol manual for the device. Good luck! \$\endgroup\$ – Dave Tweed Jan 16 '14 at 23:50
  • 1
    \$\begingroup\$ Wow, I actually went and looked at the thing. I almost regret having done so. I say "almost" because at least I don't have to use the thing. And I never will. \$\endgroup\$ – Ignacio Vazquez-Abrams Jan 16 '14 at 23:58
  • \$\begingroup\$ noting that this is a continuation of clear my LCD did @cup’s suggestion of sending “Serial.write(chr(2) + chr(12) + chr(3))” work? If so then you could use Send_to() as it looks like it may be standard codes only surrounded by STX and ETX characters. \$\endgroup\$ – mpflaga Jan 17 '14 at 3:13
  • \$\begingroup\$ @Samuel - Presumably for the same reason people say "ATM Machine" and "RPMs"? \$\endgroup\$ – Connor Wolf Jan 17 '14 at 10:17
2
\$\begingroup\$

The HD44870 command set has no provisions for deleting characters. You will need to read out all the following characters on the display, write them in the appropriate place, and then put one or more blank spaces after.

\$\endgroup\$
  • \$\begingroup\$ No option to move the cursor and write a space? \$\endgroup\$ – geometrikal Jan 16 '14 at 22:12
  • \$\begingroup\$ @IgnacioVasquez-Abrams Meaning I cant realy delete single character on my lcd? \$\endgroup\$ – NewInEverything Jan 16 '14 at 22:13
  • \$\begingroup\$ @geometrikal: Replacing a character is easy. Deleting it is not. \$\endgroup\$ – Ignacio Vazquez-Abrams Jan 16 '14 at 22:13
  • 2
    \$\begingroup\$ It will work on anything you can read the datasheet for... \$\endgroup\$ – Ignacio Vazquez-Abrams Jan 16 '14 at 22:27
  • 1
    \$\begingroup\$ Uh... for the LCD. \$\endgroup\$ – Ignacio Vazquez-Abrams Jan 16 '14 at 22:29
2
\$\begingroup\$

With years of experience dealing with display devices I can tell you that the best general purpose strategy for dealing with the update of an LCD module is to keep a string buffer image in RAM of what is on the display. Have your software do any necessary manipulation and editing of the display content against the memory buffer image. Once the image is modified call a routine that homes the cursor on the display and copies the whole buffer out to the display in a sequential manner.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.