9265|12

2144

帖子

3

TA的资源

五彩晶圆(中级)

楼主
 

【TI原创】采用8962驱动3.2寸TFT屏幕(非官方GUI版本) [复制链接]

看到坛子里面有关于8962驱动TFT的文章,主要是讲解如何使用官方的tft示例程序,个人觉得那个代码繁琐难懂,移植起来也是相当不方便。所以打算先使用8962实现tft驱动之后再去移植过来,而不是直接去修改那个代码。最终想实现使用ti的图形驱动库,做些界面。同时结构上做些调整,最好是类似zlggui的那种,初学者还是高手看起啦都不费劲。

目前还在进行过程中,初步实现简单的功能,暂时还有点问题,主要是显示的底层好像还有点问题。还没发现问题在哪里,不过我会继续跟进,实现预期功能。基本的测试已经完成,先前是在stm32上调试的代码,移植到ti的m3上却不好使了。初步比对,修改的部分如下:

St的代码:

void DataToWrite(u16 data) 
{
GPIO_Write(GPIOE, data);
}

TI的代码:

void DataToWrite(u16 data) 
{

GPIOPinWrite(DATA_PORT_H , GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7 ,
   (unsigned char)((data&0xff00)>>8));

GPIOPinWrite(DATA_PORT_L ,                    GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7 ,
   (unsigned char)(data&0xff));

}

这个TI提供的GPIO函数尽然都是对八位数据操作的,特地看了下数据手册,发现原来都是八位的寄存器。


本来还打算直接使用寄存器实现一次性写入16位数据的,这些还是乖乖的分两次吧。

我想这个算是最底层的函数了,也是和移植最相关的函数,最终结果让我蛋都碎了。全部是显示一半或者四分之一,在St上的代码没问题的,移植过来最多也就是这里变了点。

比如我的清屏函数:

void Lcd_Clear(u16 Color)
{
u32 temp;
  u32 i;
Lcd_SetCursor(0x00, 0x0000);
LCD_WR_REG(0x0050,0x00);//水平 GRAM起始位置
LCD_WR_REG(0x0051,239);//水平GRAM终止位置
LCD_WR_REG(0x0052,0x00);//垂直GRAM起始位置
LCD_WR_REG(0x0053,319);//垂直GRAM终止位置   
Lcd_WR_Start();
Set_Rs;
  for(i=110000;i>0;i--);
for (temp = 0; temp < 76800; temp++)
{
DataToWrite(Color);
Clr_nWr;
Set_nWr;
}
  
Set_Cs;
}

320*240刚好是76800个点,应该是全屏清除的。我使用Lcd_Clear(blue);结果只清了半个屏幕为Blue。

修改为for (temp = 0; temp < 76800*2; temp++) 就正常了。

还有函数是显示图片的,也是一样的问题,由于我使用的图片取模软件是按字节算的,所以使用一下方式实现(当初ST上)
void DispPic240_320(const u8  *str)
{
    
    u32 temp;
    u16 tmp;
    Lcd_SetCursor(0x0000, 0x0000);
    LCD_WR_REG(0x0050,0);  //水平 GRAM起始位置
    LCD_WR_REG(0x0051,239);//水平GRAM终止位置
    LCD_WR_REG(0x0052,0);  //垂直GRAM起始位置
    LCD_WR_REG(0x0053,319);//垂直GRAM终止位置   
    Lcd_WR_Start();
    Set_Rs; 
    
    for (temp = 0; temp < 153600/2;temp++)
    {  
        //tmp = *str++;  
        tmp = (u16)((*str++)<<8);                       
        tmp +=  *str++; 
        DataToWrite(tmp);
        
        Clr_nWr;
        Set_nWr;
    }
}
图片显示正常,而在TI上却只显示一半,还是两幅图片拼成的,好纠结。使用单写入一个字节的方式,能够全屏显示,只是颜色不对,而且图片是镜像的。

上些图片:













取模软件截图:





最新回复

3.2LCD学习中  详情 回复 发表于 2014-5-2 08:05
 
点赞 关注(1)

回复
举报

2144

帖子

3

TA的资源

五彩晶圆(中级)

沙发
 
上传有很多Bug的代码一份,这只是前奏,等稍后我会修改好,参考zlggui移植ti的图形用户界面。

目前使用的连线如下:

#define DATA_PORT_L    GPIO_PORTA_BASE
#define DATA_PORT_H    GPIO_PORTB_BASE
#define Contral_PORT      GPIO_PORTD_BASE


#define Cs     GPIO_PIN_3
#define Rs     GPIO_PIN_4
#define nWr        GPIO_PIN_5
#define nRd GPIO_PIN_6             
#define nRst GPIO_PIN_7

最好大伙帮我看看这问题,能解决就能更快的去移植GUI了,不要说去看TI的那个文档,压根不想看,就想自己移植。

TFT9325.rar

523.28 KB, 下载次数: 129

 
 

回复

5979

帖子

8

TA的资源

版主

板凳
 
不错!等我借鉴下
 
个人签名生活就是油盐酱醋再加一点糖,快活就是一天到晚乐呵呵的忙
===================================
做一个简单的人,踏实而务实,不沉溺幻想,不庸人自扰
 
 

回复

2144

帖子

3

TA的资源

五彩晶圆(中级)

4
 

回复 板凳 chenzhufly 的帖子

生活就是油盐酱醋再加一点糖

快活就是一天到晚乐呵呵的忙

安徽老乡么?
 
 
 

回复

2751

帖子

0

TA的资源

裸片初长成(初级)

5
 

原帖由 lyzhangxiang 于 2011-10-14 13:20 发表 生活就是油盐酱醋再加一点糖 快活就是一天到晚乐呵呵的忙 安徽老乡么?

 

乐在其中

 
 
 

回复

2641

帖子

0

TA的资源

五彩晶圆(中级)

6
 
不错,我用9320也移植成功过
 
 
 

回复

5979

帖子

8

TA的资源

版主

7
 
安徽 合肥
 
个人签名生活就是油盐酱醋再加一点糖,快活就是一天到晚乐呵呵的忙
===================================
做一个简单的人,踏实而务实,不沉溺幻想,不庸人自扰
 
 

回复

2144

帖子

3

TA的资源

五彩晶圆(中级)

8
 

回复 7楼 chenzhufly 的帖子

安徽  安庆  
 
 
 

回复

2144

帖子

3

TA的资源

五彩晶圆(中级)

9
 

回复 5楼 David_Lee 的帖子

独乐乐不如众乐乐     

[ 本帖最后由 lyzhangxiang 于 2011-10-14 17:42 编辑 ]
 
 
 

回复

2144

帖子

3

TA的资源

五彩晶圆(中级)

10
 

回复 6楼 fengzhang2002 的帖子

暂时还没完全成功 。。。
 
 
 

回复

2734

帖子

0

TA的资源

裸片初长成(初级)

11
 
拿去看看,给楼主顶一个帖子,算是对于楼主给大家做贡献的一个鼓励吧,嗯嗯,值得值得,希望楼主继续努力啊!加油
 
个人签名我爱电子!
 
 

回复

29

帖子

0

TA的资源

一粒金砂(中级)

12
 
不错,我也移植成功了。
 
 
 

回复

6

帖子

0

TA的资源

一粒金砂(初级)

13
 
3.2LCD学习中
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表