KB 04: Character LCD displays incorrect characters or missing characters
Typically, we connect a HD44780 based character LCD module to the embedded system to display important information during development or provide information to the user. Some LCD modules have problems when you send character to the module, it will display incorrect characters, or some characters on the screen will be lost.
LCD_Position(0,0); LCD_PrintString("Hello World!"); LCD_Position(1,0); LCD_PrintString("123456789");
The LCD module displays the message as shown below:
On the screen, you can find two wrong letters: the letter "r" is incorrect, and the number "5" is missed.
The reason is that some LCD modules have timing problems. The solution is to modify the source code to add more delay.
- Change the CPU frequency by following the KB 03: Setting CPU Frequency of PSoC 5LP in PSoC Creator
- Modify the Stack and Heap size.
- You may need to enable the float formatting supported by following the KB 02: Floating Point Problem in PSoC Creator.
- Modify the source code