OpenEdv-开源电子网

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

4.3寸屏幕驱动,无显示问题

[复制链接]

1

主题

2

帖子

0

精华

新手入门

积分
12
金钱
12
注册时间
2019-5-10
在线时间
3 小时
发表于 2019-12-24 11:39:08 | 显示全部楼层 |阅读模式
1金钱
原子哥求助啊!
      买了一个原子的4.3寸触摸屏,论坛里的例程是基于STM32F103ZE的。自己有一块STM32F103VE的板子,代码移植。

其中103VE只有NE1,因此修改base地址,用A18做的RS线
//LCD地址结构体
typedef struct
{
vu16 LCD_REG;
vu16 LCD_RAM;
} LCD_TypeDef;
//使用NOR/SRAM的 Bank1.sector1,地址位HADDR[27,26]=00 A18作为数据命令区分线 0x0007FFFE
//注意设置时STM32内部会右移一位对其!        
#define LCD_BASE       ((u32)(0x60000000 | 0x00080000))
#define LCD             ((LCD_TypeDef *) LCD_BASE)

IO和FSMC初始化
GPIO_InitTypeDef GPIO_InitStructure;
/* 使能 FSMC, GPIOD, GPIOE, GPIOF 和 AFIO 时钟 */
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_FSMC, ENABLE);

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD | RCC_APB2Periph_GPIOE | RCC_APB2Periph_AFIO, ENABLE);

/* 设置 PD.00(D2), PD.01(D3), PD.04(NOE), PD.05(NWE), PD.07(NE1), PD.08(D13), PD.09(D14),
  PD.10(D15), PD.13(A18), PD.14(D0), PD.15(D1) 为复用推挽输出 */
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_4 | GPIO_Pin_5 | \
                              GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10 | \
         GPIO_Pin_13 | GPIO_Pin_14 |GPIO_Pin_15;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_Init(GPIOD, &GPIO_InitStructure);

/* 设置 PE.07(D4), PE.08(D5), PE.09(D6), PE.10(D7), PE.11(D8), PE.12(D9), PE.13(D10),
  PE.14(D11), PE.15(D12) 为复用推挽输出 */
/* PE3,PE4 用于A19, A20, STM32F103ZE-EK(REV 2.0)必须使能 */
/* PE5,PE6 用于A21, A22, STM32F103ZE-EK(REV 1.0)必须使能 */
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;
GPIO_Init(GPIOE, &GPIO_InitStructure);

/*背光*/
GPIO_InitStructure.GPIO_Pin = LCD_BACKLIGHT_PIN;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOE, &GPIO_InitStructure);
GPIO_SetBits(GPIOE, LCD_BACKLIGHT_PIN);

例程使用的是NE4,修改为NE1。
//寄存器清零
//bank1有NE1~4,每一个有一个BCR+TCR,所以总共八个寄存器。
//这里我们使用NE1 ,也就对应BTCR[0],[1]。        
FSMC_Bank1->BTCR[0]=0X00000000;
FSMC_Bank1->BTCR[1]=0X00000000;
FSMC_Bank1E->BWTR[0]=0X00000000;
//操作BCR寄存器 使用异步模式
FSMC_Bank1->BTCR[0]|=1<<12;  //存储器写使能
FSMC_Bank1->BTCR[0]|=1<<14;  //读写使用不同的时序
FSMC_Bank1->BTCR[0]|=1<<4;   //存储器数据宽度为16bit      
//操作BTR寄存器
//读时序控制寄存器            
FSMC_Bank1->BTCR[1]|=0<<28;  //模式A              
FSMC_Bank1->BTCR[1]|=1<<0;   //地址建立时间(ADDSET)为2个HCLK 1/36M=27ns(实际>200ns)   
//因为液晶驱动IC的读数据的时候,速度不能太快,尤其对1289这个IC。
FSMC_Bank1->BTCR[1]|=0XF<<8;   //数据保存时间为16个HCLK   
//写时序控制寄存器  
FSMC_Bank1E->BWTR[0]|=0<<28;  //模式A              
FSMC_Bank1E->BWTR[0]|=0<<0;  //地址建立时间(ADDSET)为1个HCLK
  //4个HCLK(HCLK=72M)因为液晶驱动IC的写信号脉宽,最少也得50ns。72M/4=24M=55ns   
FSMC_Bank1E->BWTR[0]|=3<<8;  //数据保存时间为4个HCLK
//使能BANK1,区域4
FSMC_Bank1->BTCR[0]|=1<<0;  //使能BANK1,区域1



其他显示代码都是移植《(适合战舰V3和精英STM32F1开发板)实验27 触摸屏实验》代码。

但是显示数字,字母等函数,没有任何反应。

各条线,万用表测量,没有短路等情况。
各位帮忙看下代码有什么问题吗

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

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

使用道具 举报

1

主题

2

帖子

0

精华

新手入门

积分
12
金钱
12
注册时间
2019-5-10
在线时间
3 小时
 楼主| 发表于 2019-12-25 09:24:25 | 显示全部楼层
正点原子 发表于 2019-12-25 02:23
0x00080000改成:0x0007FFFE

//使用NOR/SRAM的 Bank1.sector1,地址位HADDR[27,26]=00 A18作为数据命令区分线 0x0007FFFE
//注意设置时STM32内部会右移一位对其!        
#define LCD_BASE       ((u32)(0x60000000 | 0x00080000))
#define LCD             ((LCD_TypeDef *) LCD_BASE)

试了两个,分别是0x00080000,0x0007FFFE。都不行
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2019-12-26 02:22:29 | 显示全部楼层
dreamermeng 发表于 2019-12-25 09:24
//使用NOR/SRAM的 Bank1.sector1,地址位HADDR[27,26]=00 A18作为数据命令区分线 0x0007FFFE
//注意设置 ...

测试下A18的信号,是否有变化?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2019-12-26 02:22:36 | 显示全部楼层
正点原子 发表于 2019-12-26 02:22
测试下A18的信号,是否有变化?

建议联系下我们技术支持
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-27 00:23

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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