OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2823|回复: 4

F429 RGB屏 综合例程切换横屏时主界面显示问题

[复制链接]

13

主题

107

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1249
金钱
1249
注册时间
2015-9-26
在线时间
358 小时
发表于 2020-2-12 15:03:37 | 显示全部楼层 |阅读模式
如题,最近在学习 F429开发板,在看综合例程时,用的是7寸的RGB屏,想把主界面切换成横屏的,主界面显示出问题,仿真看了一下,是DMA2D的问题,应该是屏的扫描方向不对,请教坛友,怎么改?
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

13

主题

107

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1249
金钱
1249
注册时间
2015-9-26
在线时间
358 小时
 楼主| 发表于 2020-2-12 15:56:45 | 显示全部楼层
主要程序修改的地方:

修改显示方向控制函数
LCD_Display_Dir(1);

在u8 spb_init(void)函数里添加横屏显示的分辨率
    else if(lcddev.width==800)        //对于800*480的LCD屏幕
    {
       略。。。
    }

修改内存画点函数
void slcd_draw_point(u16 x,u16 y,u16 color)
{
    if(lcdltdc.dir)        //横屏
    {
        //if(lcdltdc.pwidth)y=spbdev.spbwidth*SPB_PAGE_NUM+spbdev.spbahwidth*2-1;
        sramlcdbuf[x+y*(spbdev.spbwidth*SPB_PAGE_NUM+spbdev.spbahwidth*2)]=color;//横屏显示不需要坐标变换

    } else                         //竖屏
    {
        if(lcdltdc.pwidth)x=spbdev.spbwidth*SPB_PAGE_NUM+spbdev.spbahwidth*2-x-1;
        sramlcdbuf[y+x*spbdev.spbheight]=color;
    }
}

修改void slcd_frame_show(u32 x)函数
    if(lcdltdc.pwidth)
    {
        if(lcdltdc.dir)        //横屏
        {
            x=x-1;//显示第一帧
            LTDC_Color_Fill(0,spbdev.stabarheight,spbdev.spbwidth-1,spbdev.stabarheight+spbdev.spbheight-1,sramlcdbuf+x);
        } else                         //竖屏
        {
            x=spbdev.spbwidth*(SPB_PAGE_NUM-1)+spbdev.spbahwidth*2-x-1;//计算图片显示的起始位置
            LTDC_Color_Fill(0,spbdev.stabarheight,spbdev.spbwidth-1,spbdev.stabarheight+spbdev.spbheight-1,sramlcdbuf+x*spbdev.spbheight);
回复 支持 反对

使用道具 举报

13

主题

107

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1249
金钱
1249
注册时间
2015-9-26
在线时间
358 小时
 楼主| 发表于 2020-2-12 15:57:45 | 显示全部楼层
160808mb9oklb0l9zu8bz7.jpg
回复 支持 反对

使用道具 举报

109

主题

5564

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
10566
金钱
10566
注册时间
2017-2-18
在线时间
1913 小时
发表于 2020-2-12 18:08:32 | 显示全部楼层
要修改的地方太多了 ,。多到作者都不想改的
回复 支持 反对

使用道具 举报

13

主题

107

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1249
金钱
1249
注册时间
2015-9-26
在线时间
358 小时
 楼主| 发表于 2020-2-13 16:25:57 | 显示全部楼层
只能求助原子哥了
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-8 06:07

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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