LTDC STMF32双缓冲问题

2019-07-14 17:55发布

我想用硬件STMF32492I进行双缓冲,所以我在两个不同的地址中初始化两层,然后我写入后台缓冲区,切换后台缓冲区..但问题是我获得了动画的精灵的多个副本,所以我要么多次向前缓冲区绘图,要么需要清除后台缓冲区。这是我的代码:
  1. void main
  2. {
  3. while (1)
  4.     {

  5.         LTDC_switch_framebuffer();
  6.         // draw spries
  7.     }
  8. }

  9. void LTDC_switch_framebuffer(void)
  10. {




  11.     LTDC->SRCR = LTDC_SRCR_VBR;                     // reload shadow registers on vertical blank
  12.   while ((LTDC->CDSR & LTDC_CDSR_VSYNCS) == 0);    // wait for reload
  13.     ;
  14.     flip ^= 1;
  15.     BSP_LCD_SetLayerVisible(flip, ENABLE);
  16.     BSP_LCD_SelectLayer(1-flip);


  17. }
复制代码




0条回答

一周热门 更多>