OpenEdv-开源电子网

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

STM32F407VG 驱动LCD白屏问题

[复制链接]

21

主题

134

帖子

0

精华

高级会员

Rank: 4

积分
624
金钱
624
注册时间
2014-11-11
在线时间
161 小时
发表于 2014-11-21 17:07:27 | 显示全部楼层 |阅读模式
5金钱
请教原子哥:用了您的F4寄存器版的代码    作修改如下
PD7-FSMC_NE1--LCD_CS
PD11-FSMC_A16_LCD_RS
但是LCD是白屏   为什么   新人求教。。。。。。。。。。谢谢

最佳答案

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

上传错了   这个才是  试的太多了
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

21

主题

134

帖子

0

精华

高级会员

Rank: 4

积分
624
金钱
624
注册时间
2014-11-11
在线时间
161 小时
 楼主| 发表于 2014-11-21 17:07:28 | 显示全部楼层
上传错了   这个才是  试的太多了

TFT LCD显示实验(库).zip

519.9 KB, 下载次数: 229

回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2014-11-21 23:10:17 | 显示全部楼层
估计你配置/设置有问题。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

21

主题

134

帖子

0

精华

高级会员

Rank: 4

积分
624
金钱
624
注册时间
2014-11-11
在线时间
161 小时
 楼主| 发表于 2014-11-24 13:36:26 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
是LCD的 控制芯片搞错了  我用的是 SSD1289控制芯片   而原子哥的代码中没有这个控制芯片  所以弄错了    如果在原子的程序加上这个芯片的控制代码容易吗?
回复

使用道具 举报

0

主题

9

帖子

0

精华

初级会员

Rank: 2

积分
119
金钱
119
注册时间
2013-11-6
在线时间
27 小时
发表于 2014-11-24 16:47:23 | 显示全部楼层
回复【3楼】刺客mfl:
---------------------------------
SSD1289---对应的ID是0x8989,不知道你用的屏是哪家的LCD,附上SSD1289的规格书
回复

使用道具 举报

0

主题

9

帖子

0

精华

初级会员

Rank: 2

积分
119
金钱
119
注册时间
2013-11-6
在线时间
27 小时
发表于 2014-11-24 16:48:54 | 显示全部楼层
SSD1289的规格书

SSD1289_0 31.pdf

714.76 KB, 下载次数: 153

回复

使用道具 举报

21

主题

134

帖子

0

精华

高级会员

Rank: 4

积分
624
金钱
624
注册时间
2014-11-11
在线时间
161 小时
 楼主| 发表于 2014-11-24 19:20:09 | 显示全部楼层
回复【4楼】sugarstan:
---------------------------------
用的是微雪电子的   开发板是Open407V_D
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2014-11-25 00:39:56 | 显示全部楼层
回复【3楼】刺客mfl:
---------------------------------
我们有SSD1289,读出ID是8989
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

21

主题

134

帖子

0

精华

高级会员

Rank: 4

积分
624
金钱
624
注册时间
2014-11-11
在线时间
161 小时
 楼主| 发表于 2014-11-25 09:25:13 | 显示全部楼层
回复【7楼】正点原子:
---------------------------------
void LCD_Init(void)

vu32 i=0;

  GPIO_InitTypeDef  GPIO_InitStructure;

FSMC_NORSRAMInitTypeDef FSMC_NORSRAMInitStructure;
FSMC_NORSRAMTimingInitTypeDef p;

RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOD|RCC_AHB1Periph_GPIOE, ENABLE);//使能PD,PE时钟  

  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_4 | GPIO_Pin_5 | 
                 GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10 |GPIO_Pin_14 | GPIO_Pin_15;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;//复用输出
  GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;//推挽输出
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;//100MHz
  GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;//上拉
  GPIO_Init(GPIOD, &GPIO_InitStructure);//初始化  

GPIO_PinAFConfig(GPIOD,GPIO_PinSource0,GPIO_AF_FSMC);//PD0,AF12
  GPIO_PinAFConfig(GPIOD,GPIO_PinSource1,GPIO_AF_FSMC);//PD1,AF12
  GPIO_PinAFConfig(GPIOD,GPIO_PinSource4,GPIO_AF_FSMC);
  GPIO_PinAFConfig(GPIOD,GPIO_PinSource5,GPIO_AF_FSMC); 
  GPIO_PinAFConfig(GPIOD,GPIO_PinSource8,GPIO_AF_FSMC); 
  GPIO_PinAFConfig(GPIOD,GPIO_PinSource9,GPIO_AF_FSMC);
  GPIO_PinAFConfig(GPIOD,GPIO_PinSource10,GPIO_AF_FSMC);
  GPIO_PinAFConfig(GPIOD,GPIO_PinSource14,GPIO_AF_FSMC);
  GPIO_PinAFConfig(GPIOD,GPIO_PinSource15,GPIO_AF_FSMC);//PD15,AF12

  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10 |
               GPIO_Pin_11 | GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15;//PE7~15,AF OUT
  GPIO_Init(GPIOE,&GPIO_InitStructure);
 
  GPIO_PinAFConfig(GPIOE,GPIO_PinSource7,GPIO_AF_FSMC);//PE7,AF12
  GPIO_PinAFConfig(GPIOE,GPIO_PinSource8,GPIO_AF_FSMC);
  GPIO_PinAFConfig(GPIOE,GPIO_PinSource9,GPIO_AF_FSMC);
  GPIO_PinAFConfig(GPIOE,GPIO_PinSource10,GPIO_AF_FSMC);
  GPIO_PinAFConfig(GPIOE,GPIO_PinSource11,GPIO_AF_FSMC);
  GPIO_PinAFConfig(GPIOE,GPIO_PinSource12,GPIO_AF_FSMC);
  GPIO_PinAFConfig(GPIOE,GPIO_PinSource13,GPIO_AF_FSMC);
  GPIO_PinAFConfig(GPIOE,GPIO_PinSource14,GPIO_AF_FSMC);
  GPIO_PinAFConfig(GPIOE,GPIO_PinSource15,GPIO_AF_FSMC);//PE15,AF12

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11;//RS
GPIO_Init(GPIOD,&GPIO_InitStructure);
GPIO_PinAFConfig(GPIOD,GPIO_PinSource11,GPIO_AF_FSMC);

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7; //CS
GPIO_Init(GPIOD,&GPIO_InitStructure);
GPIO_PinAFConfig(GPIOD,GPIO_PinSource7,GPIO_AF_FSMC);

  RCC_AHB3PeriphClockCmd(RCC_AHB3Periph_FSMC,ENABLE);
p.FSMC_AddressSetupTime = 15;
p.FSMC_AddressHoldTime = 0;
p.FSMC_DataSetupTime = 15;
p.FSMC_BusTurnAroundDuration = 0;
p.FSMC_CLKDivision = 0;
p.FSMC_DataLatency = 0;
p.FSMC_AccessMode = FSMC_AccessMode_A;

  FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM1;//  这里我们使用NE1 ,也就对应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_Disable; // 读写使用不同的时序
  FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; 
  FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; //读写时序
  FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p;  //写时序

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

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


这是我初始化的那部分
typedef struct
{
u16 LCD_REG;
u16 LCD_RAM;
} LCD_TypeDef;
#define LCD_BASE        ((u32)(0x60000000 | 0x0001FFFE))
#define LCD             ((LCD_TypeDef *) LCD_BASE)
上面就是我修改的地方?什么地方有错误吗?谢谢。。。。
回复

使用道具 举报

21

主题

134

帖子

0

精华

高级会员

Rank: 4

积分
624
金钱
624
注册时间
2014-11-11
在线时间
161 小时
 楼主| 发表于 2014-11-25 16:19:21 | 显示全部楼层
回复【7楼】正点原子:
---------------------------------
我把0X8989的初始化程序加到您的程序当中的时候不白屏了能按照程序顺序的显示颜色  但是不能显示字符。。。接下来怎么改?谢谢
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2014-11-25 16:38:20 | 显示全部楼层
回复【9楼】刺客mfl:
---------------------------------
自己慢慢调试。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

头像被屏蔽

308

主题

400

帖子

0

精华

禁止访问

积分
1185
金钱
1185
注册时间
2011-7-29
在线时间
10 小时
发表于 2014-11-26 08:56:08 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2014-11-26 14:35:48 | 显示全部楼层
回复【11楼】feiante:
---------------------------------
就是配置FSMC的几个参数而已哦,而且屏幕驱动我们也都有参考代码,实现起来不难。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

21

主题

134

帖子

0

精华

高级会员

Rank: 4

积分
624
金钱
624
注册时间
2014-11-11
在线时间
161 小时
 楼主| 发表于 2014-11-26 18:41:54 | 显示全部楼层
已完美解决    LCD驱动芯片SSD1289  读的ID是0x8989   在原子哥的基础上增加了0x8989的驱动代码  修改了FSMC的CS和RS  详细见代码

实验13 TFT LCD显示实验(库).zip

3.92 MB, 下载次数: 171

回复

使用道具 举报

0

主题

3

帖子

0

精华

新手入门

积分
23
金钱
23
注册时间
2015-3-28
在线时间
0 小时
发表于 2015-7-9 10:51:22 | 显示全部楼层
你好,我最近在弄ssd1289控制器的TFT屏,我发现我修改R11内的 AM、ID[0:1]后,扫描方向没有改变,不知道你有没有遇到这种情况啊
回复

使用道具 举报

21

主题

134

帖子

0

精华

高级会员

Rank: 4

积分
624
金钱
624
注册时间
2014-11-11
在线时间
161 小时
 楼主| 发表于 2015-7-9 19:46:25 | 显示全部楼层
回复【15楼】Tinker:
---------------------------------
不好意思  没出现这种情况  你可以看一下我上传的代码
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-2-24 21:25

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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