LittlevGL + DMA2D 显示图案扭曲

发布于 2020-09-08 17:09:05

LTDC 和 DMA2D 可以同时使用吗?
用LTDC 驱动RGB屏后,再使用DMA2D来拷备显示数据时显示屏的图案发生扭曲。如何解决?
代码中只是把drv_lcd.c中调用的memcpy()更换成使用了DMA2D功能的函数

void lcd_fill_all(void *dst,void *src)
{
    DMA2D_HandleTypeDef *hdma2d = &Hdma2dHandle;
    HAL_DMA2D_Start(hdma2d ,(uint32_t)src,(uint32_t)dst,LCD_WIDTH,LCD_HEIGHT);
    while( __HAL_DMA2D_GET_FLAG(hdma2d, DMA2D_FLAG_TC) == RESET);
    __HAL_DMA2D_CLEAR_FLAG(hdma2d, DMA2D_FLAG_TC);
    __HAL_UNLOCK(hdma2d);
}

1.png
2.png

查看更多

关注者
0
被浏览
154
1 个回答
bulk8888
bulk8888 2020-09-22

软件包中的LittlevGL版本较低,不支持DMA2D。
移植正点原子中的LittlevGL,版本6.0.2,完美解决。
控件的事件回调虑数也有定义。
打算使用LittlevGL的朋友建议使用较新的版本。

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友