OpenEdv-开源电子网

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

基于战舰开发板TFTLCD液晶显示实验代码的修改

[复制链接]

2

主题

10

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2014-3-18
在线时间
0 小时
发表于 2014-8-11 22:01:56 | 显示全部楼层 |阅读模式
5金钱
教程里面CS 和RS管脚是PG12和PG0,但是我的芯片是VCT6的没有这么多管脚,
所以我用了PD7(CS)和PD11(RS),所以使用的是FSMC_Bank1_NORSRAM1,FSMC_A16;
背光由PB0改为了PC7.
以下是对于管脚的修改
原代码
     GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;                 //PB0 ???ì???? ±???
     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;          //???ì????
     GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
     GPIO_Init(GPIOB, &GPIO_InitStructure);
  改为:
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7;        
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;                   //LCD-PWM  ±???
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_Init(GPIOC, &GPIO_InitStructure);   
//////////////////////////////////////////////////////////////////////////////////////////////////////
原代码
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_12;     //    //PORTD???????ì????  
     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;          //???????ì????   
     GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
     GPIO_Init(GPIOG, &GPIO_InitStructure);
改为
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7|GPIO_Pin_11;    
     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;        
     GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
     GPIO_Init(GPIOD, &GPIO_InitStructure);
//////////////////////////////////////////////////////////////////////////////////////
以下是对地址的修改
#define LCD_BASE        ((u32)(0x6C000000 | 0x000007FE))
改为
#define LCD_BASE        ((u32)(0x60000000 | 0x0001FFFE))
/////////////////////////////////////////////////////////////////////////
还有
#define    LCD_LED PBout(0) //LCD±???             PB0   
改为  
#define    LCD_LED PCout(7) //LCD±???             PC7     
///////////////////////////////////////////////////////////////////////
还有FSMC函数里面的修改
    FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM4;
修改为
        FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM1;
////////////////////////////////////////////
最后是      
FSMC_NORSRAMCmd(FSMC_Bank1_NORSRAM4, ENABLE); 
修改为
    FSMC_NORSRAMCmd(FSMC_Bank1_NORSRAM1, ENABLE); 
除此之外其他代码没有修改,但是程序烧进去之后一直是白屏。
用这个代码我把驱动ID打印到串口,测试我的屏幕驱动是9341。
论坛上我看到过一篇帖子,问题相似,但是他说修改了RS和CS管脚为推挽输出就可以了,
但是我的还是不行 ,所以发此贴还请各位帮忙解答下,万分感谢!!!!!!!!!!


最佳答案

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

找到问题了   是屏幕原来屏幕驱动是61580,但是我用战舰的例程测试的是9341.
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

2

主题

10

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2014-3-18
在线时间
0 小时
 楼主| 发表于 2014-8-11 22:01:57 | 显示全部楼层
找到问题了   是屏幕原来屏幕驱动是61580,但是我用战舰的例程测试的是9341.
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-8-12 00:19:55 | 显示全部楼层
分别测量下这些信号线看看有没有正确的波形。
比如WR,RD,RS,CS等。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

2

主题

10

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2014-3-18
在线时间
0 小时
 楼主| 发表于 2014-8-12 12:21:35 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
查看了你说的四个信号,其他三个应该是正常的,就是WR信号为0的时候电位不够低,有550mV以上  不知道是不是这个原因  下午接着研究
回复

使用道具 举报

2

主题

10

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2014-3-18
在线时间
0 小时
 楼主| 发表于 2014-8-12 15:24:45 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
我先在屏幕上实现黑屏和白屏的跳变,间隔是1秒。对照了战舰板子板子的WR,RD,RS,CS时序,战舰板子CS信号时间
还有数据的时序,全都是一样的。
但是我的板子就是白屏,到底是哪里的问题????????
我的屏幕是2.4寸  240X320
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-4 00:46

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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