
Liquid crystal display controller (LCD)
RM0351
772/1830
DocID024597 Rev 5
25.3.6
Double buffer memory
Using its double buffer memory the LCD controller ensures the coherency of the displayed
information without having to use interrupts to control LCD_RAM modification.
The application software can access the first buffer level (LCD_RAM) through the APB
interface. Once it has modified the LCD_RAM, it sets the UDR flag in the LCD_SR register.
This UDR flag (update display request) requests the updated information to be moved into
the second buffer level (LCD_DISPLAY).
This operation is done synchronously with the frame (at the beginning of the next frame),
until the update is completed, the LCD_RAM is write protected and the UDR flag stays high.
Once the update is completed another flag (UDD - Update Display Done) is set and
generates an interrupt if the UDDIE bit in the LCD_FCR register is set.
The time it takes to update LCD_DISPLAY is, in the worst case, one odd and one even
frame.
The update will not occur (UDR = 1 and UDD = 0) until the display is enabled (LCDEN = 1)
25.3.7
COM and SEG multiplexing
Output pins versus duty modes
The output pins consists of:
•
SEG[43:0]
•
COM[3:0]
Depending on the duty configuration, the COM and SEG output pins may have different
functions:
•
In static, 1/2, 1/3 and 1/4 duty modes there are up to 44 SEG pins and respectively 1, 2,
3 and 4 COM pins
•
In 1/8 duty mode (DUTY[2:0] = 100), COM[7:4] outputs are available on the
SEG[43:40] pins, reducing to the number of available segments to 40.
Remapping capability for small packages
Additionally, it is possible to remap 4 segments by setting the MUX_SEG bit in the LCD_CR
register. This is particularly useful when using smaller device types with fewer external pins.
When MUX_SEG is set, output pins SEG[43:40] have the same function as SEG[31:28].
This feature is available only if the mode 1/8 duty is not selected.
Check the availability of this feature referring to the pinout section of the product datasheet.
For the considered package, check the availability of the SEG/COM multiplexing pin as
follow:
LCD_SEG[n-1]/LCD_COM7/LCD_SEG[31]
LCD_SEG[n-2]/LCD_COM6/LCD_SEG[30]
LCD_SEG[n-3]/LCD_COM5/LCD_SEG[29]
LCD_SEG[n-4]/LCD_COM4/LCD_SEG[28]
with n = number of segment for the considered package.