OpenEdv-开源电子网

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

FSMC控制LCD

[复制链接]

11

主题

62

帖子

0

精华

初级会员

Rank: 2

积分
126
金钱
126
注册时间
2013-4-22
在线时间
0 小时
发表于 2013-8-3 11:11:50 | 显示全部楼层 |阅读模式

                     手头有一块2.8寸LCD,CS端接PD7(NE1),RS接PD11(A16),WR端接PD5(NWE),RD端接PD4(NOR),背光直接接了电源,REST端接PE1.

                    我根据以上的电路将原子哥的TFTLCD显示实验的程序的对应配置给改动了一下,复位程序写在led.c中。现在的情况是程序下进去之后,LCD白屏,串口助手显示驱动芯片为9341(实际为9325,不插液晶,板子复位后也显示9341),LED正常闪烁。

                   已经调试了两天了,仍然没有突破,哪位高手给帮忙看一下?

                        

例子9-----lcd驱动.rar

8.79 MB, 下载次数: 5327

山登绝顶我为峰!
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-8-3 11:20:07 | 显示全部楼层
在LCD_Init里面的:

   lcddev.id = LCD_ReadReg(0x0000);   
之后,添加一句:
printf("LCD ID0:%X",lcddev.id);

这个,来打印第一次读取到的ID.试试.
你不插液晶也打印9341,是因为我们程序最后在没有发现任何匹配的ID的时候,会强制将id设置为9341
所以才会打印出9341的ID...
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

11

主题

62

帖子

0

精华

初级会员

Rank: 2

积分
126
金钱
126
注册时间
2013-4-22
在线时间
0 小时
 楼主| 发表于 2013-8-3 12:30:31 | 显示全部楼层
显示LCD ID:0
山登绝顶我为峰!
回复 支持 反对

使用道具 举报

11

主题

62

帖子

0

精华

初级会员

Rank: 2

积分
126
金钱
126
注册时间
2013-4-22
在线时间
0 小时
 楼主| 发表于 2013-8-3 12:32:21 | 显示全部楼层
回复【3楼】田晓生:
------------------------
不好意思,还以为这篇没发送成功就又发了后来截屏的那篇。
山登绝顶我为峰!
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-8-3 12:33:10 | 显示全部楼层
说明有问题了.
你直接FSMC的D0~D15一个个IO接V3.3
看看能不能读出来.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

11

主题

62

帖子

0

精华

初级会员

Rank: 2

积分
126
金钱
126
注册时间
2013-4-22
在线时间
0 小时
 楼主| 发表于 2013-8-3 12:38:05 | 显示全部楼层
是在屏插着的同时将D0~D15中的任意一个直接接高还是全部接高?
山登绝顶我为峰!
回复 支持 反对

使用道具 举报

11

主题

62

帖子

0

精华

初级会员

Rank: 2

积分
126
金钱
126
注册时间
2013-4-22
在线时间
0 小时
 楼主| 发表于 2013-8-3 12:44:26 | 显示全部楼层
哎,将数据线的不同位直接接高,就能读不同的出值!
山登绝顶我为峰!
回复 支持 反对

使用道具 举报

11

主题

62

帖子

0

精华

初级会员

Rank: 2

积分
126
金钱
126
注册时间
2013-4-22
在线时间
0 小时
 楼主| 发表于 2013-8-3 12:45:30 | 显示全部楼层
这是什么情况啊?
山登绝顶我为峰!
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-8-3 12:46:19 | 显示全部楼层
说明FSMC的读数据正常了.
然后检测RD,WR,CS等信号.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

11

主题

62

帖子

0

精华

初级会员

Rank: 2

积分
126
金钱
126
注册时间
2013-4-22
在线时间
0 小时
 楼主| 发表于 2013-8-3 13:11:35 | 显示全部楼层
但是我把数据线把拉高一根写命令不就不正常了吗,怎么还能成功读出数据?
山登绝顶我为峰!
回复 支持 反对

使用道具 举报

11

主题

62

帖子

0

精华

初级会员

Rank: 2

积分
126
金钱
126
注册时间
2013-4-22
在线时间
0 小时
 楼主| 发表于 2013-8-3 13:15:52 | 显示全部楼层
回复【9楼】正点原子:
---------------------------------
RD,WR,CS该如何检测?他们不是又FSMC自动控制的吗?
山登绝顶我为峰!
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-8-3 14:07:32 | 显示全部楼层
回复【10楼】田晓生:
---------------------------------
不管写,你现在是测试D0~D15的数据读取是不是正常.只要读取正常,说明你的D0~D15都正常,然后,再找其他问题.
RD,WR,CS,也可以测试啊,你读数据,RD就有信号输出.你写输入WR就有信号.CS则是不论你的读写都有数据.
 拿个示波器捕获信号.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

11

主题

62

帖子

0

精华

初级会员

Rank: 2

积分
126
金钱
126
注册时间
2013-4-22
在线时间
0 小时
 楼主| 发表于 2013-8-4 10:05:33 | 显示全部楼层
原子哥,我把另外一块和我板子配套的2.4寸屏插上去,串口助手能够读出ID号为4532,说明FSMC因该是没问题的。而和我的液晶同版同大小的第三块液晶插上去,串口助手仍然读不出ID号。 这个是不是因为FSMC的时间参数设置的和我的那块液晶不配啊?  但我统一把读写的数据保持和地址保持都调长,仍然读不出ID号。
山登绝顶我为峰!
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-8-4 10:31:58 | 显示全部楼层
回复【13楼】田晓生:
---------------------------------
4532,这个ID不太对哦.
4531就听说过.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

11

主题

62

帖子

0

精华

初级会员

Rank: 2

积分
126
金钱
126
注册时间
2013-4-22
在线时间
0 小时
 楼主| 发表于 2013-8-4 10:53:59 | 显示全部楼层
我查了一下,还是有LGDP4532这款液晶驱动芯片的。    
     读写的数据保持和地址保持调的过长不会读不出数据吧?是不是我之前又调的过长了,所以导致仍然读不出ID号?
山登绝顶我为峰!
回复 支持 反对

使用道具 举报

11

主题

62

帖子

0

精华

初级会员

Rank: 2

积分
126
金钱
126
注册时间
2013-4-22
在线时间
0 小时
 楼主| 发表于 2013-8-4 11:21:29 | 显示全部楼层
数据保持和地址保持调长之后,很少几次串口能读出ID号为9328,但继续调长就不在出现了。
山登绝顶我为峰!
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-8-4 11:53:04 | 显示全部楼层
这就不清楚你了,呵呵.
我们的液晶驱动代码,基本是通杀的,所以你的9328也好,还是4531也罢,在我们的驱动里面都是可以支持到,如果用我们标配的代码初始化不能成功的,问题可能就出在硬件上了.
另外,相同驱动IC的液晶,其初始化序列代码未必完全一样,这点也要考虑下.不过这种概率很低,目前为止就碰到过一次.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

11

主题

62

帖子

0

精华

初级会员

Rank: 2

积分
126
金钱
126
注册时间
2013-4-22
在线时间
0 小时
 楼主| 发表于 2013-8-4 12:09:00 | 显示全部楼层
哭了!!!
回复 支持 反对

使用道具 举报

8

主题

40

帖子

0

精华

初级会员

Rank: 2

积分
92
金钱
92
注册时间
2012-10-16
在线时间
0 小时
发表于 2013-8-17 15:44:38 | 显示全部楼层
回复【18楼】田晓生:
---------------------------------
你弄好了吗?我也出现这个问题了???
回复 支持 反对

使用道具 举报

11

主题

62

帖子

0

精华

初级会员

Rank: 2

积分
126
金钱
126
注册时间
2013-4-22
在线时间
0 小时
 楼主| 发表于 2013-8-19 14:22:10 | 显示全部楼层
弄好了,你加我qq1635195950,我把修改成功的程序给你,你照着我的程序看看你的问题出现在哪里。
山登绝顶我为峰!
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-14 22:58

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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