Monday, December 11th 2017, 7:50pm UTC+1

You are not logged in.

  • Login
  • Register


Dear visitor, welcome to SEGGER Forum. If this is your first visit here, please read the Help. It explains how this page works. You must be registered before you can use all the page's features. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.

Message information
Automatically converts internet addresses into links by adding [url] and [/url] around them.
Smiley code in your message such as :) is automatically displayed as image.
You can use BBCode to format your message, if this option is enabled.
Security measure

Please enter the letters that are shown in the picture below (without spaces, and upper or lower case can be used).

The first post

Friday, May 19th 2017, 8:01pm

by the.mark.robertson

Double Buffering STM324x9I-EVAL Demo/Examples


I am having flickering problems and wonder if you can help. I know the classic answer is "use multi-buffering" but your examples do not seem to us this yet have no flicker. A typical demo by you would be:


On my own project I get flicker. I am using the same STM324x9i_eval_MB1046 display driver and also running on an STM324x9I-EVAL PCBA. My project uses the same GUI_X_Config setup and I have not made changes for the pre-processor controls for the display driver (ie same #defines for number of layers, number of buffers). OS is RTX (and emWIN is made aware of this). LCD is connected via LTDC (as said, I am using the MB1046 driver without any changes as my project is running on the -EVAL board).

I create my windows using WM_CreateWindowAsChild() and do all my painting within a WM_PAINT. A typical _paint() would GUI_DrawBitmap() a full-size background and then GUI_DrawStringAt() onto this bitmap.

You don't get flicker in your samples on the -EVAL board yet you do not use WM_MULTIBUF_Enable(1) nor any obvious multi-buffering support. You are using the same driver (LCD_X_Config etc) and the hardware is the same. Your demos are my go-to reference but I cannot see what I may be setting different (except that I use RTX vs no-RTOS for the examples).

Q: Does anything spring to mind (a setting/setup) that needs to be made to use the 1046 driver on the EVAL? I cannot find anything. Or is it simply that your demos do not need multi-buffering as there is no OS/no halts during processing.