硬汉嵌入式论坛

 找回密码
 立即注册
查看: 557|回复: 8
收起左侧

[LVGL] 求助,stm32f4 spi dma,lvgl显示不全

[复制链接]

1

主题

7

回帖

10

积分

新手上路

积分
10
发表于 2024-2-4 05:39:29 | 显示全部楼层 |阅读模式
另外的小屏幕是能正常显示lvgl测试界面

但这个大屏幕lvgl显示不全,界面都出来了,但就整体往上偏,不知道怎么解决了,我把长和宽调小才看到控件,但感觉是往上偏,不用lvgl单独给屏幕刷屏,是能完整显示出来,但移植到lvgl就不行了

型号ST7796S,3.5英寸触摸 SPI


    /* Example for 2) */
    static lv_disp_draw_buf_t draw_buf_dsc_2;
    static lv_color_t buf_2_1[MY_DISP_HOR_RES * 20];                        /*A buffer for 10 rows*/
    static lv_color_t buf_2_2[MY_DISP_HOR_RES * 20];                        /*An other buffer for 10 rows*/
    lv_disp_draw_buf_init(&draw_buf_dsc_2, buf_2_1, buf_2_2, MY_DISP_HOR_RES * 10);   /*Initialize the display buffer*/



    unsigned int size = (area->x2 - area->x1 + 1) * (area->y2 - area->y1 + 1) * 2;
    LCD_SetWindows(area->x1, area->y1, area->x2, area->y2);        //指定填充区域
    //printf("area3 x1 %d y1 %d x2 %d y2 %d ",area->x1,area->y1,area->x2,area->y2);
    MYDMA_Enable(DMA2_Stream5,color_p, size);
    disp_DMA = disp_drv;





void DMA2_Stream5_IRQHandler()        // 这是DMA2_Stream3的中断处理函数
{
    if(DMA_GetITStatus(DMA2_Stream5,DMA_IT_TCIF5))        // 检查DMA2_Stream3的传输完成中断标志位
    {
        DMA_ClearITPendingBit(DMA2_Stream5,DMA_IT_TCIF5);        // 清除DMA2_Stream3的传输完成中断标志位
                                //LCD_CS_SET;
                                DMA_Cmd(DMA2_Stream5,DISABLE);
                                LCD_SetWindows(0,0,lcddev.width-1,lcddev.height-1);//恢复窗口设置为全屏
                                lv_disp_flush_ready(disp_DMA);        // 刷新显示
                                disp_enable_update();                                                // 启用显示更新
    }   
}

IMG_20240204_052725.jpg
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106718
QQ
发表于 2024-2-4 09:13:52 | 显示全部楼层
裸机正常吗,裸机正常, LVGL就没问题。
回复

使用道具 举报

1

主题

7

回帖

10

积分

新手上路

积分
10
 楼主| 发表于 2024-2-4 15:14:18 | 显示全部楼层
eric2013 发表于 2024-2-4 09:13
裸机正常吗,裸机正常, LVGL就没问题。

我试试
回复

使用道具 举报

1

主题

7

回帖

10

积分

新手上路

积分
10
 楼主| 发表于 2024-2-4 18:29:33 | 显示全部楼层
eric2013 发表于 2024-2-4 09:13
裸机正常吗,裸机正常, LVGL就没问题。

不行,怀疑屏幕问题,换个单片机或者裸机都不行,那个dma写入就是不正常
回复

使用道具 举报

1

主题

7

回帖

10

积分

新手上路

积分
10
 楼主| 发表于 2024-2-5 14:17:39 | 显示全部楼层
eric2013 发表于 2024-2-4 09:13
裸机正常吗,裸机正常, LVGL就没问题。

解决了
回复

使用道具 举报

21

主题

125

回帖

188

积分

初级会员

积分
188
发表于 2024-2-18 19:53:51 | 显示全部楼层

什么问题
回复

使用道具 举报

5

主题

165

回帖

180

积分

初级会员

积分
180
发表于 2024-2-19 08:36:05 | 显示全部楼层
有点像是写显存数据之前的设置窗口坐标错了
回复

使用道具 举报

1

主题

7

回帖

10

积分

新手上路

积分
10
 楼主| 发表于 2024-2-29 18:02:30 | 显示全部楼层

清除中断然后SPI1->DR; 解决了
回复

使用道具 举报

1

主题

7

回帖

10

积分

新手上路

积分
10
 楼主| 发表于 2024-2-29 18:02:49 | 显示全部楼层
DX3906 发表于 2024-2-19 08:36
有点像是写显存数据之前的设置窗口坐标错了

清除中断然后SPI1->DR; 解决了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-4-30 19:03 , Processed in 0.189056 second(s), 29 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表