OpenEdv-开源电子网

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

使用FSMC驱动LCD的问题

[复制链接]

47

主题

99

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
307
金钱
307
注册时间
2011-12-22
在线时间
0 小时
发表于 2012-11-9 14:54:53 | 显示全部楼层 |阅读模式
FSMC驱动LCD必须使用FSMC_NE4和FSMC_A10吗?那么STM32F103VCT6没有FSMC_NE4和FSMC_A10怎么办?是不是就不能驱动LCD了,我想自己制作一块PCB,选用VCT6这块片子。
说明一下,我用的是miniSTM32,不是战舰开发板,那么这两块板子的LCD是完全相同吧?
Charlesgnehc
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

16

主题

98

帖子

0

精华

初级会员

Rank: 2

积分
100
金钱
100
注册时间
2012-7-29
在线时间
19 小时
发表于 2012-11-11 00:42:01 | 显示全部楼层
你那个是100脚的吧,怎么能焊接到那个板子上呢 求解
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2012-11-11 10:42:28 | 显示全部楼层
回复【楼主位】zhangcheng:
---------------------------------
CS和RS,随便你自己接 ,关键你代码里面设置一致就可以了,《stm32开发指南》有详细的介绍啊,你好好看看!
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

47

主题

99

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
307
金钱
307
注册时间
2011-12-22
在线时间
0 小时
 楼主| 发表于 2012-11-11 18:31:55 | 显示全部楼层
谢谢,我是自己制作一块PCB,用VCT6比ZET6便宜,我主要是学学FSMC,用的资源不多。
Charlesgnehc
回复 支持 反对

使用道具 举报

47

主题

99

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
307
金钱
307
注册时间
2011-12-22
在线时间
0 小时
 楼主| 发表于 2012-11-12 11:00:01 | 显示全部楼层
回复【3楼】正点原子:
---------------------------------
是不是NE1对应存储块1 NOR/PSRAM 1 ,而NE4对应存储块4 NOR/PSRAM 4? 
Charlesgnehc
回复 支持 反对

使用道具 举报

47

主题

99

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
307
金钱
307
注册时间
2011-12-22
在线时间
0 小时
 楼主| 发表于 2012-11-12 11:04:53 | 显示全部楼层
使用FSMC_NE4作为片选和FSMC_A16作为RS,那么代码如何修改?
Charlesgnehc
回复 支持 反对

使用道具 举报

47

主题

99

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
307
金钱
307
注册时间
2011-12-22
在线时间
0 小时
 楼主| 发表于 2012-11-12 16:51:05 | 显示全部楼层
回复【3楼】正点原子:
---------------------------------
LCD初始化时可以读出LCD的ID号但是LCD却没有显示,这是为什么?
Charlesgnehc
回复 支持 反对

使用道具 举报

47

主题

99

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
307
金钱
307
注册时间
2011-12-22
在线时间
0 小时
 楼主| 发表于 2012-11-12 19:24:38 | 显示全部楼层
回复【3楼】正点原子:
---------------------------------
代码中有句话“初始化函数可以初始化各种 ILI93XX 液晶,但是其他函数是基于 ILI9320 的!!!”------是不是说LCD初始化函数可能仅仅是适用与ILI9320,对于其他的LCD控制器不一定适用?那么MINISTM32与战舰STM32使用的是相同的LCD控制器吗?
Charlesgnehc
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2012-11-12 21:12:33 | 显示全部楼层
回复【8楼】zhangcheng:
---------------------------------
不是,只要我们这里出的LCD,基本都是支持的。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

22

主题

110

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
295
金钱
295
注册时间
2012-11-11
在线时间
24 小时
发表于 2012-11-14 15:20:46 | 显示全部楼层
回复【6楼】zhangcheng:
使用FSMC_NE4作为片选和FSMC_A16作为RS,那么代码如何修改?
---------------------------------
修改读写地址值就好了
回复 支持 反对

使用道具 举报

42

主题

568

帖子

0

精华

高级会员

Rank: 4

积分
784
金钱
784
注册时间
2010-12-19
在线时间
5 小时
发表于 2012-11-14 16:22:01 | 显示全部楼层
回复【8楼】zhangcheng:
---------------------------------

FSMC_NE4作为片选:
那么首地址就是0x60000000+0x0c000000
FSMC_A16作为RS:
那么0x60000000+0x0c000000+2^16*2=0x60000000+0x0c000000+0x20000

所以你的data地址为:0x6c02 0000
REG地址为:0x6c00 0000
一个上蹿下跳的猴子~~~
回复 支持 反对

使用道具 举报

42

主题

568

帖子

0

精华

高级会员

Rank: 4

积分
784
金钱
784
注册时间
2010-12-19
在线时间
5 小时
发表于 2012-11-14 17:23:14 | 显示全部楼层
回复【6楼】zhangcheng:
---------------------------------
如果采用原子哥那种使用结构体的,data地址注意-2,因为REG的定义的变量为unsigned short int。其自身占了2个字节,所以需要-2.
一个上蹿下跳的猴子~~~
回复 支持 反对

使用道具 举报

47

主题

99

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
307
金钱
307
注册时间
2011-12-22
在线时间
0 小时
 楼主| 发表于 2012-12-1 10:52:24 | 显示全部楼层
回复【9楼】正点原子:
---------------------------------
我用VCT6做的板子修改代码如下:
#define LCD_BASE        ((u32)(0x60000000 | 0x0001FFFE))
#define LCD             ((LCD_TypeDef *) LCD_BASE)
使用NE1作为片选和FSMC_A16作为RS,但是LCD未显示成功,还需要做哪些修改呢?
Charlesgnehc
回复 支持 反对

使用道具 举报

9

主题

32

帖子

0

精华

初级会员

Rank: 2

积分
100
金钱
100
注册时间
2012-8-26
在线时间
4 小时
发表于 2013-3-12 09:09:56 | 显示全部楼层
回复【13楼】zhangcheng:
---------------------------------
你好,有联系方式吗??我的板子也是这样接的,也遇到不能驱动的问题。!液晶的ID读出来都是0x0000
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-3-12 10:04:23 | 显示全部楼层
回复【13楼】zhangcheng:
---------------------------------
地址设置没问题啊。
读ID都读不了?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

126

主题

820

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1683
金钱
1683
注册时间
2012-10-28
在线时间
62 小时
发表于 2013-4-1 17:58:42 | 显示全部楼层
顶啊
回复 支持 反对

使用道具 举报

15

主题

55

帖子

0

精华

初级会员

Rank: 2

积分
135
金钱
135
注册时间
2012-8-17
在线时间
0 小时
发表于 2013-5-3 14:05:23 | 显示全部楼层
回复【15楼】正点原子:
--------------------------
我和这个一样的情况,怎么回事,ID读出来是1?
回复 支持 反对

使用道具 举报

15

主题

55

帖子

0

精华

初级会员

Rank: 2

积分
135
金钱
135
注册时间
2012-8-17
在线时间
0 小时
发表于 2013-5-3 16:10:32 | 显示全部楼层
回复【14楼】cjqhyy:
---------------------------------
你的这个解决了吗,我的也是这样的啊
回复 支持 反对

使用道具 举报

15

主题

55

帖子

0

精华

初级会员

Rank: 2

积分
135
金钱
135
注册时间
2012-8-17
在线时间
0 小时
发表于 2013-5-6 10:39:24 | 显示全部楼层
回复【14楼】cjqhyy:
---------------------------------
你的弄好了吗,怎么修改的?
回复 支持 反对

使用道具 举报

47

主题

99

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
307
金钱
307
注册时间
2011-12-22
在线时间
0 小时
 楼主| 发表于 2013-5-30 16:22:40 | 显示全部楼层
Sorry,很久没有上论坛了,我弄好了,不过是半年前的事了,我需要回去好好看看再告诉你,可以QQ联系(895920923)
Charlesgnehc
回复 支持 反对

使用道具 举报

51

主题

1455

帖子

3

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2613
金钱
2613
注册时间
2011-1-25
在线时间
176 小时
发表于 2013-5-30 16:52:33 | 显示全部楼层
有FSMC就可以接LCD,怎么写,看指南。
一直努力就很好。
回复 支持 反对

使用道具 举报

15

主题

55

帖子

0

精华

初级会员

Rank: 2

积分
135
金钱
135
注册时间
2012-8-17
在线时间
0 小时
发表于 2013-6-2 14:43:30 | 显示全部楼层
回复【20楼】zhangcheng:
---------------------------------
我的也搞定了,谢谢!
回复 支持 反对

使用道具 举报

15

主题

55

帖子

0

精华

初级会员

Rank: 2

积分
135
金钱
135
注册时间
2012-8-17
在线时间
0 小时
发表于 2013-6-2 14:43:49 | 显示全部楼层
回复【20楼】zhangcheng:
---------------------------------
是屏幕的问题
回复 支持 反对

使用道具 举报

47

主题

99

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
307
金钱
307
注册时间
2011-12-22
在线时间
0 小时
 楼主| 发表于 2013-6-4 14:02:11 | 显示全部楼层
屏幕有什么问题啊?
Charlesgnehc
回复 支持 反对

使用道具 举报

12

主题

432

帖子

0

精华

高级会员

Rank: 4

积分
729
金钱
729
注册时间
2012-6-21
在线时间
59 小时
发表于 2013-7-24 10:53:50 | 显示全部楼层
不错。
路过学习。
呵呵。
回复 支持 反对

使用道具 举报

4

主题

38

帖子

0

精华

初级会员

Rank: 2

积分
157
金钱
157
注册时间
2013-9-7
在线时间
17 小时
发表于 2014-11-9 21:43:29 | 显示全部楼层
你怎么解决的
回复 支持 反对

使用道具 举报

1

主题

4

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2015-6-1
在线时间
0 小时
发表于 2015-6-16 21:30:08 | 显示全部楼层
回复【15楼】正点原子:
---------------------------------
#define LCD_BASE        ((u32)(0x60000000 | 0x0001FFFE))
#define LCD             ((LCD_TypeDef *) LCD_BASE)   //地址这样定义的

  RCC_AHBPeriphClockCmd(RCC_AHBPeriph_FSMC,ENABLE);  
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOC|RCC_APB2Periph_GPIOD|RCC_APB2Periph_GPIOE,ENABLE); 

 
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;  
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;   
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_Init(GPIOB, &GPIO_InitStructure);

/* NE1 configuration */
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7; 
  GPIO_Init(GPIOD, &GPIO_InitStructure);
  
  /* RS */
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11 ;    //RS
  GPIO_Init(GPIOD, &GPIO_InitStructure); 



 
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_PP;   
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_Init(GPIOD, &GPIO_InitStructure); 
 
  /* RST */
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1 ;   //LCD-RST
  GPIO_Init(GPIOE, &GPIO_InitStructure);  

 
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_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;   
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_Init(GPIOE, &GPIO_InitStructure);             

 

readWriteTiming.FSMC_AddressSetupTime = 0x01;  
  readWriteTiming.FSMC_AddressHoldTime = 0x00;  
  readWriteTiming.FSMC_DataSetupTime = 0x0f;  
  readWriteTiming.FSMC_BusTurnAroundDuration = 0x00;
  readWriteTiming.FSMC_CLKDivision = 0x00;
  readWriteTiming.FSMC_DataLatency = 0x00;
  readWriteTiming.FSMC_AccessMode = FSMC_AccessMode_A;  
    

writeTiming.FSMC_AddressSetupTime = 0x00;  
  writeTiming.FSMC_AddressHoldTime = 0x00;   
  writeTiming.FSMC_DataSetupTime = 0x03;  
  writeTiming.FSMC_BusTurnAroundDuration = 0x00;
  writeTiming.FSMC_CLKDivision = 0x00;
  writeTiming.FSMC_DataLatency = 0x00;
  writeTiming.FSMC_AccessMode = 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_16b; 
  FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode =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_NORSRAMCmd(FSMC_Bank1_NORSRAM1, ENABLE);   


求大侠指教
回复 支持 反对

使用道具 举报

1

主题

4

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2015-6-1
在线时间
0 小时
发表于 2015-6-16 21:33:54 | 显示全部楼层
回复【27楼】closertb:
---------------------------------
回复【27楼】closertb:
---------------------------------
就是CS接了NE1(PD7),RS接了A16(PD11)
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-21 10:00

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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