OpenEdv-开源电子网

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

液晶的ID读取不正确

[复制链接]

15

主题

87

帖子

0

精华

初级会员

Rank: 2

积分
167
金钱
167
注册时间
2013-3-5
在线时间
0 小时
发表于 2013-8-18 15:04:10 | 显示全部楼层 |阅读模式
由于最小底板板的PB口未全部引出,因此我将液晶的数据口和功能口修改如下
#define LCD_CS_SET  GPIOB->BSRR=1<<7    //片选端口       PB7
#define LCD_RS_SET GPIOB->BSRR=1<<5    //数据/命令          B5   
#define LCD_WR_SET GPIOB->BSRR=1<<8   //写数据 PB8
#define LCD_RD_SET GPIOB->BSRR=1<<6    //读数据 PB6
//GPIOx->BRR一个16位复位寄存器    
#define LCD_CS_CLR  GPIOB->BRR=1<<7     //片选端口       PB7
#define LCD_RS_CLR GPIOB->BRR=1<<5     //数据/命令          B5   
#define LCD_WR_CLR GPIOB->BRR=1<<8     //写数据 PB8
#define LCD_RD_CLR GPIOB->BRR=1<<6     //读数据 PB6
   
//PC0~15,作为数据线
#define DATAOUT(x) GPIOC->ODR=x; //数据输出
#define DATAIN     GPIOC->IDR;   //数据输入
初始化当中对应的管口也已经修改了。出现的问题如题所说,ID读取不正确。读出的ID为:LCD ID:f7b7,小弟整了快一天了,实在想不出问题出的哪

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

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-8-18 15:09:27 | 显示全部楼层
PC口一个个IO接高低电平,单独测试下,看看是不是PC口IO有问题。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

15

主题

87

帖子

0

精华

初级会员

Rank: 2

积分
167
金钱
167
注册时间
2013-3-5
在线时间
0 小时
 楼主| 发表于 2013-8-18 15:31:56 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
PC口我都测了的,没问题的,主要是经过这三句后
                LCD_RD_DATA(); //dummy read
  LCD_RD_DATA();      //读回0X00
  DeviceCode=LCD_RD_DATA()&0XBF;//这里读回0XD3,实际是0X93才对.强制去掉第6位
DeviceCode就变为0X00BF了。不知道是什么原因。
    
 
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-8-18 23:40:23 | 显示全部楼层
回复【3楼】双星伴月:
---------------------------------
9341?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

15

主题

87

帖子

0

精华

初级会员

Rank: 2

积分
167
金钱
167
注册时间
2013-3-5
在线时间
0 小时
 楼主| 发表于 2013-8-19 08:50:19 | 显示全部楼层
回复【4楼】正点原子:
---------------------------------
嗯,ID是:9341.就是用的原子哥MINI板上的液晶。由于各种原因,所以改了管口。结果ID就读不出来,白屏的
回复 支持 反对

使用道具 举报

15

主题

87

帖子

0

精华

初级会员

Rank: 2

积分
167
金钱
167
注册时间
2013-3-5
在线时间
0 小时
 楼主| 发表于 2013-8-19 15:41:48 | 显示全部楼层
回复【4楼】正点原子:
---------------------------------
我同学的9325像那样改就可以正常显示了,为什么我的9341像那样改就不能正常显示,就是个白屏。原子哥求指点啊,都弄了两天了,实在想不到该改哪了
回复 支持 反对

使用道具 举报

15

主题

87

帖子

0

精华

初级会员

Rank: 2

积分
167
金钱
167
注册时间
2013-3-5
在线时间
0 小时
 楼主| 发表于 2013-8-19 16:03:09 | 显示全部楼层
回复【4楼】正点原子:
---------------------------------
我同学的9325像那样改就可以正常显示了,为什么我的9341像那样改就不能正常显示,就是个白屏。原子哥求指点啊,都弄了两天了,实在想不到该改哪了
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

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

使用道具 举报

15

主题

87

帖子

0

精华

初级会员

Rank: 2

积分
167
金钱
167
注册时间
2013-3-5
在线时间
0 小时
 楼主| 发表于 2013-8-19 17:51:12 | 显示全部楼层
回复【8楼】正点原子:
---------------------------------
不是吧,原子哥就不能来句点睛之笔吗?,你这句回复让我好受伤...
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-8-20 00:09:16 | 显示全部楼层
回复【9楼】双星伴月:
---------------------------------
如果是直接移植的我们mini板例程,我不知道还能说啥了,mini板最新例程直接支持9341了。
就那么几个IO,看你1楼的代码,改的也有鼻子有眼,后续9325的液晶都可以驱动了,那说明底层接口肯定是没问题了...
那9341,也应该可以了,但是你说不能读ID,我也不清楚咋回事了...
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

15

主题

87

帖子

0

精华

初级会员

Rank: 2

积分
167
金钱
167
注册时间
2013-3-5
在线时间
0 小时
 楼主| 发表于 2013-8-20 14:38:40 | 显示全部楼层
回复【10楼】正点原子:
---------------------------------
我就是用的MINI板的例程,可以读ID,现用最新例程可以读出是9341,但还是白屏,搞得头都大了,我实在是想不到啊,就改了哈定义的管脚,怎么就是这样的情况。不知道谁遇到过这样的情况,希望指点哈迷津啊

回复 支持 反对

使用道具 举报

0

主题

9

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
213
金钱
213
注册时间
2013-8-9
在线时间
38 小时
发表于 2013-12-24 11:03:34 | 显示全部楼层
我也该IO口后  这个读的液晶 ID 也不对 
                LCD_RD_DATA();  //dummy read 
  LCD_RD_DATA();        //读回0X00
   DeviceCode=LCD_RD_DATA()&0XBF;//这里读回0XD3,实际是0X93才对.强制去掉第6位
读回来DeviceCode= 0X93D3 我在这下面 主动赋值了 
                DeviceCode = 0x9341;
然后能显示了
回复 支持 反对

使用道具 举报

28

主题

95

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
313
金钱
313
注册时间
2013-10-11
在线时间
38 小时
发表于 2013-12-25 20:01:35 | 显示全部楼层
前段时间发过一个9341读ID的问题,你论坛搜索一下,试试看对不。
回复 支持 反对

使用道具 举报

86

主题

984

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1850
金钱
1850
注册时间
2013-4-15
在线时间
163 小时
发表于 2015-8-4 10:49:39 | 显示全部楼层
回复【13楼】netmouse:
---------------------------------
LCD_RD_DATA();这个函数有问题,要改成RD的低电平期间就去读,而不要等RD上升沿之后读
合肥-文盲
回复 支持 反对

使用道具 举报

1

主题

5

帖子

0

精华

新手上路

积分
46
金钱
46
注册时间
2017-4-23
在线时间
15 小时
发表于 2017-10-20 23:13:09 | 显示全部楼层
刚调试屏幕也调到这,这是因为CD_RD_DATA();里的IO没有改造成的
回复 支持 反对

使用道具 举报

4

主题

24

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
219
金钱
219
注册时间
2015-8-5
在线时间
43 小时
发表于 2017-10-28 10:44:39 | 显示全部楼层
  Stm32_Clock_Init(216,4,2,2);   //éè&#214;&#195;ê±&#214;ó,216Mhz    N M P Q
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-23 13:52

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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