LTDC STMF32双缓冲问题
2019-07-14 17:55发布
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
我想用硬件STMF32492I进行双缓冲,所以我在两个不同的地址中初始化两层,然后我写入后台缓冲区,切换后台缓冲区..但问题是我获得了动画的精灵的多个副本,所以我要么多次向前缓冲区绘图,要么需要清除后台缓冲区。这是我的代码:
- 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);
- }
复制代码
一周热门 更多>