OpenEdv-开源电子网

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

求解,TFT驱动问题,ili9325,ili9328的区别

[复制链接]

2

主题

9

帖子

0

精华

新手上路

积分
37
金钱
37
注册时间
2011-7-23
在线时间
0 小时
发表于 2011-7-24 08:46:57 | 显示全部楼层 |阅读模式
 我用GPIO的方法读芯片的0寄存器,可以得到返回值是0x9328,但用了FSMC(ili9325的驱动)后从0x00地址只能读到0x0000,这是不是两个芯片的时序有差别,网上找了一下几乎没有ili9328的资料啊,有大神能讲一下这两个芯片的时序区别啊,这两个的初始化好像也有一定的差别。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

5

帖子

0

精华

新手上路

积分
37
金钱
37
注册时间
2011-3-25
在线时间
0 小时
发表于 2012-2-29 10:43:02 | 显示全部楼层
ILI9328是ILITEK公司ILI9325为了与天马公司的面板硬件做兼容单独开的一款,软件是相同的,只是为了区分与9325的不同,另立一个型号叫ILI9328,不过,寄存器里面有些内部使用的寄存器没有开放了,也改掉了ILI9325的一些BUG。
其中有一句值得注意:0X03寄存器的D9(HWM)那个值ILI9325是开放的,置0和置1没问题。在ILI9328时这个D9(HWM)没开放了,只能固定为0,如果置1的话,显示画面就会有问题,特别是文字显示等,有兴趣可以做一下实验。
回复 支持 1 反对 0

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2011-7-24 08:59:59 | 显示全部楼层
据说这两个芯片一摸一样哦.可能你的时序有问题.
我的驱动代码:
RCC->AHBENR|=1<<8;       //使能FSMC时钟   
  RCC->APB2ENR|=1<<3;      //使能PORTB时钟
RCC->APB2ENR|=1<<5;      //使能PORTD时钟
RCC->APB2ENR|=1<<6;      //使能PORTE时钟
  RCC->APB2ENR|=1<<8;      //使能PORTG时钟
RCC->APB2ENR|=1<<0;      //使能AFIO时钟  
GPIOB->CRH&=0XFFFFF0FF;//PB10 推挽输出 背光
GPIOB->CRH|=0X00000300;    
//PORTD复用推挽输出 
GPIOD->CRH&=0X00FFF000;
GPIOD->CRH|=0XBB000BBB; 
GPIOD->CRL&=0XFF00FF00;
GPIOD->CRL|=0X00BB00BB;     
//PORTE复用推挽输出 
GPIOE->CRH&=0X00000000;
GPIOE->CRH|=0XBBBBBBBB; 
GPIOE->CRL&=0X0FFFFFFF;
GPIOE->CRL|=0XB0000000;             
//PORTG12复用推挽输出,CSG12 RS:A12(PG2)         
GPIOG->CRH&=0XFFF0FFFF;
GPIOG->CRH|=0X000B0000; 
GPIOG->CRL&=0XFFFFF0FF;//PG0->RS
GPIOG->CRL|=0X00000B00; 
   
//寄存器清零
//bank1有NE1~4,每一个有一个BCR+TCR,所以总共八个寄存器。
//这里我们使用NE4 ,也就对应BTCR[6],[7]。     
FSMC_Bank1->BTCR[6]=0X00000000;
FSMC_Bank1->BTCR[7]=0X00000000;
FSMC_Bank1E->BWTR[6]=0X00000000;
//操作BCR寄存器 使用异步模式
FSMC_Bank1->BTCR[6]|=1<<12;//存储器写使能
FSMC_Bank1->BTCR[6]|=1<<4; //存储器数据宽度为16bit      
//操作BTR寄存器     
//3个HCLK(HCLK=72M)因为液晶驱动IC的写信号脉宽,最少也得50ns。72M/3=24M=42ns,已经超频了。   
FSMC_Bank1->BTCR[7]|=1<<9; //数据保存时间为3个HCLK    
//闪存写时序寄存器  
FSMC_Bank1E->BWTR[6]=0x0FFFFFFF;//默认值
//使能BANK4(PC卡设备)
FSMC_Bank1->BTCR[6]|=1<<0;     
 
delay_ms(50); // delay 50 ms 
LCD_WriteReg(0x0000,0x0001);
delay_ms(50); // delay 50 ms 
  //因为液晶驱动IC的读数据的时候,速度不能太快,尤其对1289这个IC。
FSMC_Bank1->BTCR[7]|=0XF<<8; //数据保存时间为16个HCLK    
DeviceCode = LCD_ReadReg(0x0000);   
FSMC_Bank1->BTCR[7]&=~(0XF<<8); //数据保存时间为0
//因为液晶驱动IC的写信号脉宽,最少也得50ns。72M/3=24M=42ns,已经超频了。   
FSMC_Bank1->BTCR[7]|=1<<9;      //数据保存时间为3个HCLK     
printf(" LCD ID:%x\n",DeviceCode); //打印LCD ID  
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

2

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
55
金钱
55
注册时间
2011-4-6
在线时间
0 小时
发表于 2011-7-24 09:30:26 | 显示全部楼层
不错啊。
回复 支持 反对

使用道具 举报

2

主题

9

帖子

0

精华

新手上路

积分
37
金钱
37
注册时间
2011-7-23
在线时间
0 小时
 楼主| 发表于 2011-7-24 11:38:04 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
谢谢指导,刚才仔细看了一下,是移植程序的时候,FSMC块的首地址没改,原来用的是0x6c00 0000,改成0X6000 0000就好了,一些块的使能原来也没改已经顺利从0寄存器中读到了0X9328,不过在做文字显示的时候还是出不来现在怀疑是不是数据保持时间过短,因为从网上看到有人用gpio驱动ili9328(代码和9325一样)可以正常显示,但是换成STM32F103ZE的Fsmc再来带动ili9328就只能得到白屏,而换上9325却能正常显示,可能9328的反应速度比9325慢,继续努力中,争取今天可以搞定驱动
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2012-2-29 11:12:44 | 显示全部楼层
原来如此。。。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

13

主题

104

帖子

0

精华

初级会员

Rank: 2

积分
179
金钱
179
注册时间
2011-8-2
在线时间
0 小时
发表于 2012-3-11 09:38:55 | 显示全部楼层
回复【4楼】hyk1990:
---------------------------------
“因为从网上看到有人用gpio驱动ili9328(代码和9325一样)可以正常显示,但是换成STM32F103ZE的Fsmc再来带动ili9328就只能得到白屏”

哥子,向你说的这种白屏的情况应该怎么办呢? 我用fsmc能读id,但是初始化函数完后一直白屏,无法操作LCD(ili9328),能不能给点心得啊
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2012-3-11 10:10:49 | 显示全部楼层
回复【7楼】提刀上马:
---------------------------------
我用FSMC驱动9328貌似无问题啊.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

11

主题

62

帖子

0

精华

初级会员

Rank: 2

积分
126
金钱
126
注册时间
2013-4-22
在线时间
0 小时
发表于 2013-8-7 17:34:33 | 显示全部楼层
回复【楼主位】hyk1990:
---------------------------------
朋友,你用的是那个牌子的开发板?
山登绝顶我为峰!
回复 支持 反对

使用道具 举报

0

主题

8

帖子

0

精华

新手上路

积分
28
金钱
28
注册时间
2014-4-18
在线时间
0 小时
发表于 2014-5-6 21:44:00 | 显示全部楼层
最近 也在学9325,困惑中!
回复 支持 反对

使用道具 举报

5

主题

57

帖子

0

精华

初级会员

Rank: 2

积分
113
金钱
113
注册时间
2014-3-20
在线时间
2 小时
发表于 2014-7-22 09:03:34 | 显示全部楼层
我想问下,我能读0寄存器,返回0x9328,说明接线是没问题的是不?但是为什么不能显示啊,一直白屏
一分耕耘一分收获
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-5 02:08

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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