OpenEdv-开源电子网

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

LCD初始化的问题

[复制链接]

8

主题

33

帖子

0

精华

初级会员

Rank: 2

积分
122
金钱
122
注册时间
2018-12-31
在线时间
45 小时
发表于 2019-1-13 12:23:04 | 显示全部楼层 |阅读模式
5金钱
原子哥的TFTLCD例程是如何兼容各种尺寸的,就是说程序里面怎么确定这两个参数:宽度和高度
我这个小白实在看不出来,讲一下思路就好了





最佳答案

查看完整内容[请看2#楼]

通过读ID号/设置LCD显示方向 //dir:0,竖屏;1,横屏 void LCD_Display_Dir(u8 dir) { lcddev.dir=dir; //横屏/竖屏 if(lcdltdc.pwidth!=0) //如果是RGB屏 { LTDC_Display_Dir(dir); lcddev.width=lcdltdc.width; lcddev.height=lcdltdc.height; return; } if(dir==0) //竖屏 { lcddev.width=240; lcddev.height=320; if(lcddev.id==0X9341||lcddev.id==0X5310) { lcddev ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

17

主题

466

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
2164
金钱
2164
注册时间
2013-1-11
在线时间
510 小时
发表于 2019-1-13 12:23:05 | 显示全部楼层
通过读ID号/设置LCD显示方向
//dir:0,竖屏;1,横屏
void LCD_Display_Dir(u8 dir)
{
    lcddev.dir=dir;         //横屏/竖屏
        if(lcdltdc.pwidth!=0)   //如果是RGB屏
        {
                LTDC_Display_Dir(dir);
                lcddev.width=lcdltdc.width;
                lcddev.height=lcdltdc.height;
                return;
        }
        if(dir==0)                        //竖屏
        {
                lcddev.width=240;
                lcddev.height=320;
                if(lcddev.id==0X9341||lcddev.id==0X5310)
                {
                        lcddev.wramcmd=0X2C;
                         lcddev.setxcmd=0X2A;
                        lcddev.setycmd=0X2B;           
                        if(lcddev.id==0X5310)
                        {
                                lcddev.width=320;
                                lcddev.height=480;
                        }
                }else if(lcddev.id==0x5510)
                {
                        lcddev.wramcmd=0X2C00;
                         lcddev.setxcmd=0X2A00;
                        lcddev.setycmd=0X2B00;
                        lcddev.width=480;
                        lcddev.height=800;
                }else if(lcddev.id==0X1963)
                {
                        lcddev.wramcmd=0X2C;        //设置写入GRAM的指令
                        lcddev.setxcmd=0X2B;        //设置写X坐标指令
                        lcddev.setycmd=0X2A;        //设置写Y坐标指令
                        lcddev.width=480;                //设置宽度480
                        lcddev.height=800;                //设置高度800  
                }
        }else                                 //横屏
知识是你最好的财富
回复

使用道具 举报

8

主题

33

帖子

0

精华

初级会员

Rank: 2

积分
122
金钱
122
注册时间
2018-12-31
在线时间
45 小时
 楼主| 发表于 2019-1-13 12:25:10 | 显示全部楼层
LCD各个尺寸的宽高如何兼容
回复

使用道具 举报

8

主题

33

帖子

0

精华

初级会员

Rank: 2

积分
122
金钱
122
注册时间
2018-12-31
在线时间
45 小时
 楼主| 发表于 2019-1-13 12:31:37 | 显示全部楼层
这个width和height各个型号的是怎么确定的
typedef struct  
{                                                                                    
        u16 width;                        //LCD 宽度
        u16 height;                        //LCD 高度
        u16 id;                                //LCD ID
        u8  dir;                        //横屏还是竖屏控制:0,竖屏;1,横屏。       
        u16        wramcmd;                //开始写gram指令
        u16  setxcmd;                //设置x坐标指令
        u16  setycmd;                //设置y坐标指令
}_lcd_dev;           [/mw_shl_code]
回复

使用道具 举报

8

主题

33

帖子

0

精华

初级会员

Rank: 2

积分
122
金钱
122
注册时间
2018-12-31
在线时间
45 小时
 楼主| 发表于 2019-1-13 16:43:29 | 显示全部楼层
默默莱 发表于 2019-1-13 12:35
通过读ID号/设置LCD显示方向
//dir:0,竖屏;1,横屏
void LCD_Display_Dir(u8 dir)

就是说ID不同的LCDwidth和height也不同?
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2019-1-14 01:41:47 | 显示全部楼层
参考我们例程
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-16 00:34

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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