Tuesday, May 30th 2017, 3:31am UTC+2

You are not logged in.

  • Login
  • Register

Date of registration: Oct 31st 2016

Posts: 5


Friday, May 19th 2017, 8:01pm

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.