打印
[STM32F1]

stm32f103VC100pins使用FSMC控制8bit的RA8806LCD总线一点反映都没有

[复制链接]
3306|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
stm32f103VC100pins使用FSMC控制8bit的LCD总线一点反映都没有,
我用的屏是RA8806,普通时序控制,屏是可以点亮的,
感觉是FSMC初始化的地方有问题,我这里贴下代码,麻烦大家帮忙看一下,谢谢!

  FSMC_NORSRAMInitTypeDef  FSMC_NORSRAMInitStructure;
  FSMC_NORSRAMTimingInitTypeDef  p;
  //GPIO_InitTypeDef GPIO_InitStructure;

  p.FSMC_AddressSetupTime = 0x01;
  p.FSMC_AddressHoldTime = 0x01;
  p.FSMC_DataSetupTime = 0x03;
  p.FSMC_BusTurnAroundDuration = 0x00;
  p.FSMC_CLKDivision = 0x00;
  p.FSMC_DataLatency = 0x00;
  p.FSMC_AccessMode = FSMC_AccessMode_B;//FSMC_AccessMode_A;

  FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM1;
  FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable;
  FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_NOR;
  FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_8b;
  FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable;
//        FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable;
  FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low;
  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);

  /* Enable FSMC Bank1_SRAM Bank */
  FSMC_NORSRAMCmd(FSMC_Bank1_NORSRAM1, ENABLE);


贴不了图?
LCD_RS-->FSMC_A16
LCD_CS-->FSMC_NE1
LCD_WR-->FSMC_NWE
LCD_RD-->FSMC_NOE
LCD_D0~D7-->FSMC_D0~D7
沙发
mmuuss586| | 2014-9-26 19:25 | 只看该作者
FSMC.rar (3.21 MB)
发现FSMC的资料你参考下;

使用特权

评论回复
板凳
saviourxx|  楼主 | 2014-9-27 08:45 | 只看该作者
mmuuss586 发表于 2014-9-26 19:25
发现FSMC的资料你参考下;

谢谢班主,我试试看!

使用特权

评论回复
地板
mmuuss586| | 2014-9-27 09:06 | 只看该作者
saviourxx 发表于 2014-9-27 08:45
谢谢班主,我试试看!

:)
再用示波器测试下;

使用特权

评论回复
5
saviourxx|  楼主 | 2014-9-28 12:50 | 只看该作者
mmuuss586 发表于 2014-9-27 09:06
再用示波器测试下;

版主,我现在的情况是,信号都有了,而且都正常,但是有些时序不太对,导致初始化还是失败了。

我用的屏是ra8806,写数据是wr上升沿写入。但是由于我的硬件和屏还有io控制模式决定了上升沿时间很慢,wr还没拉上去,数据脚D0-D7就已经无效了。下面是我用示波器捉到的图形:


如图上面是D0,下面是WR。D0到WR第一个下降沿时间只有50个ns,而且代码控制不了。
然后WR上升沿写数据的时候,由于WR还没拉到高电平。数据脚D0已经变为无效了。
所以我想请问一下,WR上升沿到D0无效之间的时间可以设置吗?我怎么改都没法改到~

使用特权

评论回复
6
saviourxx|  楼主 | 2014-9-28 12:59 | 只看该作者
saviourxx 发表于 2014-9-28 12:50
版主,我现在的情况是,信号都有了,而且都正常,但是有些时序不太对,导致初始化还是失败了。

我用的屏 ...

这个是RA8806的时序图

QQ图片20140928125813.jpg (103.27 KB )

ra8806时序图

ra8806时序图

使用特权

评论回复
7
mmuuss586| | 2014-9-28 13:15 | 只看该作者
调下:这几个参数看看;
我以前还用示波器测试过的;
你根据你实际的需要,改下各参数看看;
先把FSMC总线读写部分调通(WHILE循环,一直写个固定的数据),拿示波器慢慢看,调到你所需要的读写实际;
再改屏部分相关程序;

捕获.JPG (49.7 KB )

捕获.JPG

使用特权

评论回复
8
saviourxx|  楼主 | 2014-9-28 13:56 | 只看该作者
mmuuss586 发表于 2014-9-28 13:15
调下:这几个参数看看;
我以前还用示波器测试过的;
你根据你实际的需要,改下各参数看看;

全部试过了,只有数据建立时间有效,其他怎么调都没用~

使用特权

评论回复
9
mmuuss586| | 2014-9-28 13:59 | 只看该作者
saviourxx 发表于 2014-9-28 13:56
全部试过了,只有数据建立时间有效,其他怎么调都没用~

:)
用的多少版本的库啊?

使用特权

评论回复
10
saviourxx|  楼主 | 2014-9-28 14:07 | 只看该作者
saviourxx 发表于 2014-9-28 13:56
全部试过了,只有数据建立时间有效,其他怎么调都没用~



我想延长tDH8,但是只有FSMC_DataSetupTime一个参数 是可以改的~

使用特权

评论回复
11
saviourxx|  楼主 | 2014-9-28 14:08 | 只看该作者
mmuuss586 发表于 2014-9-28 13:59
用的多少版本的库啊?

;* File Name          : startup_stm32f10x_hd.s
;* Author             : MCD Application Team
;* Version            : V3.5.0
;* Date               : 11-March-2011
;* Description        : STM32F10x High Density Devices vector table for MDK-ARM
;*                      toolchain.


3.5.0

使用特权

评论回复
12
saviourxx|  楼主 | 2014-9-28 14:15 | 只看该作者
mmuuss586 发表于 2014-9-28 13:15
调下:这几个参数看看;
我以前还用示波器测试过的;
你根据你实际的需要,改下各参数看看;



数据手册上写只有一个HCLK,难道无法设置?

使用特权

评论回复
13
saviourxx|  楼主 | 2014-9-28 15:46 | 只看该作者
mmuuss586 发表于 2014-9-28 13:59
用的多少版本的库啊?


突然发现nand方式可以设置wr高电平的持续时间,请问有nand方式控制lcd的相关资料么?

使用特权

评论回复
14
mmuuss586| | 2014-9-28 17:31 | 只看该作者
saviourxx 发表于 2014-9-28 15:46
突然发现nand方式可以设置wr高电平的持续时间,请问有nand方式控制lcd的相关资料么?
...

按照我上次发的资料给就可以了;

使用特权

评论回复
15
saviourxx|  楼主 | 2014-9-28 17:35 | 只看该作者
mmuuss586 发表于 2014-9-28 17:31
按照我上次发的资料给就可以了;

那个资料好像没nand方式控制lcd的

使用特权

评论回复
16
没想好| | 2016-1-18 18:46 | 只看该作者
楼主问题是否解决了?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

7

主题

56

帖子

1

粉丝