OpenEdv-开源电子网

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

请教TFT屏问题

[复制链接]

1

主题

1

帖子

0

精华

新手入门

积分
25
金钱
25
注册时间
2010-12-15
在线时间
0 小时
发表于 2010-12-15 22:13:46 | 显示全部楼层 |阅读模式
好的。能简单说一下。TFT屏竖显示。跟横显示有那些区别啊
//设置窗口                              
   LCD_WriteReg(R80,x);           //水平方向GRAM起始地址
   LCD_WriteReg(R81,x+(size/2-1));//水平方向GRAM结束地址
   LCD_WriteReg(R82,y);           //垂直方向GRAM起始地址
   LCD_WriteReg(R83,y+size-1);    //垂直方向GRAM结束地址   
   LCD_SetCursor(x,y);            //设置光标位置  
   LCD_WriteRAM_Prepare();        //开始写入GRAM
横显示看你不需要这些
不过我还是不怎么明白什么意思
请版主回答一下,谢谢
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165352
金钱
165352
注册时间
2010-12-1
在线时间
2108 小时
发表于 2010-12-15 22:26:17 | 显示全部楼层
回复【楼主位】 打工人家 : -------------------------------
这是横屏显示的字符显示代码:
//在指定位置显示一个字符 //x:0~234 //y:0~308 //num:要显示的字符:" "--->"~" //size:字体大小 12/16 //mode:叠加方式(1)还是非叠加方式(0)
void LCD_ShowChar(u16 x,u16 y,u8 num,u8 size,u8 mode) {
#ifdef USE_HORIZONTAL
#define MAX_CHAR_POSX 312
#define MAX_CHAR_POSY 232
#else
#define MAX_CHAR_POSX 232
#define MAX_CHAR_POSY 312
#endif
u8 temp;
u8 pos,t;
u16 x0=x;
u16 colortemp=POINT_COLOR;
if(x>MAX_CHAR_POSX||y>MAX_CHAR_POSY)
return; //设置窗口
num=num-' ';//得到偏移后的值
if(!mode) //非叠加方式
{ for(pos=0;pos<size;pos++)
  {
   if(size==12)temp=asc2_1206[num][pos];//调用1206字体
    else temp=asc2_1608[num][pos]; //调用1608字体
    for(t=0;t<size/2;t++) {
         if(temp&0x01)POINT_COLOR=colortemp;
        else POINT_COLOR=BACK_COLOR;
        LCD_DrawPoint(x,y);
         temp>>=1; x++;
           } x=x0; y++;
       }
   }else//叠加方式
{ for(pos=0;pos<size;pos++)
    {    if(size==12)temp=asc2_1206[num][pos];//调用1206字体
         else temp=asc2_1608[num][pos]; //调用1608字体
          for(t=0;t<size/2;t++) {
                  if(temp&0x01)LCD_DrawPoint(x+t,y+pos);//画一个点
                   temp>>=1; }
                        }
           }
        POINT_COLOR=colortemp;
}


这段代码里面,我使用的是画点函数来写字符的,而在标准例程里面,我们使用的是填充块的方式来显示字符. 所以你说的那段代码,就是用来设置窗口用的,而在横屏显示里面是不需要的. 事实上,不光横屏还是竖屏,最好的办法,都是使用画点函数来画字符,这样可以方便在不同的硬件平台上移植,可移植性高. 但用块的方式,可以提高速度,在图片显示的时候用的多.这里我这个代码不是很好. 有朋友有兴趣,可以把我这个标准例程里面的字符显示函数重写.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

26

主题

279

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
409
金钱
409
注册时间
2010-12-15
在线时间
0 小时
发表于 2010-12-20 09:33:26 | 显示全部楼层
回复 支持 反对

使用道具 举报

1

主题

19

帖子

0

精华

新手上路

积分
43
金钱
43
注册时间
2010-12-14
在线时间
0 小时
发表于 2010-12-20 14:44:28 | 显示全部楼层
1楼原子的代码“格式”看上去很痛苦
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165352
金钱
165352
注册时间
2010-12-1
在线时间
2108 小时
发表于 2010-12-20 15:36:54 | 显示全部楼层
回复【4楼】tlb:
-------------------------------
还是直接看实例吧。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

230

主题

1950

帖子

10

精华

论坛元老

Rank: 8Rank: 8

积分
4562
金钱
4562
注册时间
2010-12-14
在线时间
32 小时
发表于 2010-12-20 15:43:11 | 显示全部楼层

回复【4楼】tlb:
-------------------------------
格式修改过了!
我是开源电子网?网站管理员,对网站有任何问题,请与我联系!QQ:389063473Email:389063473@qq.com
回复 支持 反对

使用道具 举报

230

主题

1950

帖子

10

精华

论坛元老

Rank: 8Rank: 8

积分
4562
金钱
4562
注册时间
2010-12-14
在线时间
32 小时
发表于 2011-1-4 01:07:02 | 显示全部楼层
Alientek STM32开发板扩展实验4--TFT LCD横屏显示 源码

ALIENTEK MINISTM32 扩展实验4 TFTLCD横屏显示.rar

38.37 KB, 下载次数: 647

我是开源电子网?网站管理员,对网站有任何问题,请与我联系!QQ:389063473Email:389063473@qq.com
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-24 14:11

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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