SLAAEE9 November 2023
When utilizing this solution within an application, there are a few key care abouts with this solution. Since the LCD memory tables can be updated asynchronously, visual anomalies on the LCD can occur if the memory tables are updated too frequently in relation to the LCD refresh rate. These anomalies can be reduced or avoided by increasing the LCD refresh rate, only updating the LCD memory tables at the beginning/end of an update LCD update cycle, ensuring a character is displayed a minimum number of LCD refresh cycles before being changed, or a combination of these practices.
As with most software based solutions, timing is critical to the success of the solution. Care must be taken to service the LCD_Update_Clock interrupt handler in a timely manner to maintain solution stability. Frequent or long interrupt service routines outside this solution, can prevent proper operation of the software LCD solution. Applications can mitigate this by using a timer instance with higher interrupt priority than others in the system, increasing the interrupt priority of the timer instance used, keeping other application interrupts short, or using a software flag-loop method for other interrupts in the application.