Estoy tratando de hacer doble búfer usando el hardware, STMF32492I .. así que Primero estoy iniciando dos capas en dos direcciones diferentes.
Luego escribo en el búfer trasero, cambio el búfer trasero ..
Pero el problema es que obtengo varias copias del sprite animado, por lo tanto, estoy dibujando en el búfer frontal varias veces o es necesario borrar el búfer trasero.
Así es como lo estoy haciendo
void main
{
while (1)
{
LTDC_switch_framebuffer();
// draw spries
}
}
void LTDC_switch_framebuffer(void)
{
LTDC->SRCR = LTDC_SRCR_VBR; // reload shadow registers on vertical blank
while ((LTDC->CDSR & LTDC_CDSR_VSYNCS) == 0); // wait for reload
;
flip ^= 1;
BSP_LCD_SetLayerVisible(flip, ENABLE);
BSP_LCD_SelectLayer(1-flip);
}