OpenEdv-开源电子网

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

用F4驱动原子的2.8寸TFTLCD 可以正常读出ID:9320,但一直白屏怎么回事,烦告知谢谢。

[复制链接]

3

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
51
金钱
51
注册时间
2013-8-4
在线时间
1 小时
发表于 2014-5-25 22:23:17 | 显示全部楼层 |阅读模式
5金钱
用F4驱动原子的2.8寸TFTLCD  可以正常读出ID:9320,但白屏怎么回事,烦告知谢谢。
//以下是引脚连接情况,谢谢
PD14-FSMC-D0       ----LCD-DB0  
PD15-FSMC-D1       ----LCD-DB1 
PD0-FSMC-D2        ----LCD-DB2 
PD1-FSMC-D3        ----LCD-DB3 
PE7-FSMC-D4        ----LCD-DB4 
PE8-FSMC-D5        ----LCD-DB5 
PE9-FSMC-D6        ----LCD-DB6 
PE10-FSMC-D7       ----LCD-DB7 
PE11-FSMC-D8       ----LCD-DB8  
PE12-FSMC-D9       ----LCD-DB9  
PE13-FSMC-D10      ----LCD-DB10 
PE14-FSMC-D11      ----LCD-DB11  
PE15-FSMC-D12      ----LCD-DB12  
PD8-FSMC-D13       ----LCD-DB13         
PD9-FSMC-D14       ----LCD-DB14         
PD10-FSMC-D15      ----LCD-DB15
TFT控制信号线
PD4-FSMC-NOE       ----LCD-RD           
PD5-FSMC-NEW       ----LCD-WR           
PD7-FSMC-NE1       ----LCD-CS           
PD11-FSMC-A16      ----LCD-RS          
NRST               ----LCD-RESET 
PB0                ----LCD-BLACK-LIGHT

最佳答案

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

回复【5楼】正点原子: --------------------------------- 可以了,谢谢。驱动程序原来是FSMC_Bank1_NORSRAM1,换成FSMC_Bank1_NORSRAM4就可以了,有点奇怪。同学给的屏,ALIENTEK TFTLCD //A16作为数据命令区分线  //注意设置时STM32内部会右移一位对其!     #define LCD_BASE        ((u32)(0x60000000 | 0x0001FFFE)) #define LCDx           & ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
51
金钱
51
注册时间
2013-8-4
在线时间
1 小时
 楼主| 发表于 2014-5-25 22:23:18 | 显示全部楼层
回复【5楼】正点原子:
---------------------------------
可以了,谢谢。驱动程序原来是FSMC_Bank1_NORSRAM1,换成FSMC_Bank1_NORSRAM4就可以了,有点奇怪。同学给的屏,ALIENTEK TFTLCD

//A16作为数据命令区分线 
//注意设置时STM32内部会右移一位对其!    
#define LCD_BASE        ((u32)(0x60000000 | 0x0001FFFE))
#define LCDx             ((LCD_TypeDef *) LCD_BASE)

readWriteTiming.FSMC_AddressSetupTime = 0x01; //地址建立时间(ADDSET)为2个HCLK 1/36M=27ns
readWriteTiming.FSMC_AddressHoldTime = 0x00; //地址保持时间(ADDHLD)模式A未用到
readWriteTiming.FSMC_DataSetupTime = 0x0f; // 数据保存时间为16个HCLK,因为液晶驱动IC的读数据的时候,速度不能太快,尤其对1289这个IC。
readWriteTiming.FSMC_BusTurnAroundDuration = 0x00;
readWriteTiming.FSMC_CLKDivision = 0x00;
readWriteTiming.FSMC_DataLatency = 0x00;
readWriteTiming.FSMC_AccessMode = FSMC_AccessMode_A; //模式A

writeTiming.FSMC_AddressSetupTime = 0x00; //地址建立时间(ADDSET)为1个HCLK
writeTiming.FSMC_AddressHoldTime = 0x00; //地址保持时间(A
writeTiming.FSMC_DataSetupTime = 0x03; ////数据保存时间为4个HCLK
writeTiming.FSMC_BusTurnAroundDuration = 0x00;
writeTiming.FSMC_CLKDivision = 0x00;
writeTiming.FSMC_DataLatency = 0x00;
writeTiming.FSMC_AccessMode = FSMC_AccessMode_A; //模式A

FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM4;//  这里我们使用NE4 ,也就对应BTCR[6],[7]。
FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; // 不复用数据地址
FSMC_NORSRAMInitStructure.FSMC_MemoryType =FSMC_MemoryType_SRAM;// FSMC_MemoryType_SRAM;  //SRAM
FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b;//存储器数据宽度为16bit
FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode =FSMC_BurstAccessMode_Disable;// FSMC_BurstAccessMode_Disable;
FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low;
FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait=FSMC_AsynchronousWait_Disable;
FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable;
FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState;
FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; //  存储器写使能
FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable;
FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Enable; // 读写使用不同的时序
FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable;
FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &readWriteTiming; //读写时序
FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &writeTiming;  //写时序

FSMC_NORSRAMInit(&FSMC_NORSRAMInitStructure);  //初始化FSMC配置

FSMC_NORSRAMCmd(FSMC_Bank1_NORSRAM4, ENABLE);  // 使能BANK1


回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2014-5-26 00:26:24 | 显示全部楼层
是不是速度太快了?
将写速度设置慢一点试试
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

3

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
51
金钱
51
注册时间
2013-8-4
在线时间
1 小时
 楼主| 发表于 2014-5-26 00:39:32 | 显示全部楼层
程序原来还是好使的, ID都显示正常,连接应该没问题吧,现在连最基本的清屏函数都不行
回复

使用道具 举报

3

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
51
金钱
51
注册时间
2013-8-4
在线时间
1 小时
 楼主| 发表于 2014-5-26 00:43:41 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
请问下,怎么测试屏的好坏,不会坏了吧
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2014-5-26 01:11:24 | 显示全部楼层
我们的屏???
你什么时候买的?
貌似我们用9320的屏,还得追溯到2010年。。。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

44

主题

186

帖子

4

精华

金牌会员

Rank: 6Rank: 6

积分
1260
金钱
1260
注册时间
2012-9-1
在线时间
67 小时
发表于 2014-5-26 10:32:37 | 显示全部楼层
p.FMC_AddressSetupTime = 16;//地址建立时间(ADDSET)为2个HCLK 1/36M=27ns
   p.FMC_AddressHoldTime = 5;//地址保持时间(ADDHLD)模式A未用到
   p.FMC_DataSetupTime = 18; // 数据保存时间为16个HCLK,1289这个IC。
   p.FMC_BusTurnAroundDuration = 5;
   p.FMC_CLKDivision = 5;
   p.FMC_DataLatency = 5;
   p.FMC_AccessMode = FMC_AccessMode_A;

我的可用参数,设置快了就和你一样现象,我是429,呵呵
回复

使用道具 举报

3

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
51
金钱
51
注册时间
2013-8-4
在线时间
1 小时
 楼主| 发表于 2014-5-31 16:54:41 | 显示全部楼层
回复【6楼】ye781205:
---------------------------------
我的-LCD-CS   连着的是PD7-FSMC-NE1 ,理应FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM1;
确实,用了你的参数,把速度降下来,可以显示,但就是斜着刷屏,有点闪。

另外,我在6楼中,改成FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM4;速度比较快,居然可以显示,相当奇怪,知道原因吗?另外怎么算参数,谢谢
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-22 17:53

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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