新手上路
- 积分
- 36
- 金钱
- 36
- 注册时间
- 2018-12-23
- 在线时间
- 8 小时
|
5金钱
有大佬帮忙看是问题出现在哪里嘛?情况是这个样子,我用cubemx生成的代码,然后移植完LCD驱动和触摸屏驱动代码后,可以正常刷屏和画画,LCD和触摸屏的驱动代码是微雪写的。原子的代码我嫌太多了。
屏幕是RGB4.3 800*480的
照个PDF移植完例程代码就出现了这样的情况,可以看到输入键盘的竖杠是正常闪烁的。我点击屏幕,也有界面刷新,但是还是花屏
[图片]
问题应该是出在显示这一部分
有一部分移植的代码有一部分不太一样
static void disp_flush(lv_disp_drv_t * disp_drv, const lv_area_t * area, lv_color_t * color_p)
{
uint16_t color =0;
color = (color_p->ch.red<<11)|(color_p->ch.green<<5)|(color_p->ch.blue);
Paint_ClearWindows(area->x1,area->y1,area->x2,area->y2,color);
/* IMPORTANT!!!
* Inform the graphics library that you are ready with the flushing*/
lv_disp_flush_ready(disp_drv);
}
|
最佳答案
查看完整内容[请看2#楼]
调试成功了,是我移植微雪的代码中没有那个DMA2D刷屏的代码 后来自己复制了正点原子的这个代码以后就可以了。
void LTDC_Color_Fill(UWORD Xstart, UWORD Ystart, UWORD Xend, UWORD Yend, uint16_t* Color)
{
uint16_t offline = 0;
uint32_t addr = 0;
uint32_t timeout=0;
uint32_t psx,psy,pex,pey; //以LCD面板为基准的坐标系,不随横竖屏变化而变化
psx=Xstart;psy=Ystart;
pex=Xend;pey=Yend;
offl ...
|