OpenEdv-开源电子网

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

请教操作过SSD1963屏驱动的高手指点,急求

[复制链接]

15

主题

61

帖子

0

精华

初级会员

Rank: 2

积分
178
金钱
178
注册时间
2011-9-16
在线时间
8 小时
发表于 2012-6-15 16:47:36 | 显示全部楼层 |阅读模式
现在我在操作SSD1963屏驱动,为了测试读写寄存器函数有没有问题
我发现自己可以写进去,屏上现象发生改变.
但是老是读不出来,不知道是什么问题
我测试读函数时,去读SSD1963的ID寄存器0XA1,但是老是读出来是0.
该寄存器有5个参数,请用过的高手指点下.
读寄存器该如何写
我的程序如下:
uint16_t a,b,c,d,e;
Write_command(0xA1);
Delay(5);//5ms
a=Read_command(0xA1);
b=Read_command(0xA1);
c=Read_command(0xA1);
c=Read_command(0xA1);
e=Read_command(0xA1);
printf("a=0x%x",a);
printf("b=0x%x",b);
printf("c=0x%x",c);
printf("d=0x%x",d);
printf("e=0x%x",e);
请问程序这样写对吗???


你不努力,谁都会看不起你!
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2012-6-15 17:52:21 | 显示全部楼层
这个代码是对的.
关键你的write/read函数有无问题,就要你自己去确认了.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

15

主题

61

帖子

0

精华

初级会员

Rank: 2

积分
178
金钱
178
注册时间
2011-9-16
在线时间
8 小时
 楼主| 发表于 2012-6-18 09:17:53 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
谢谢原子哥,我确定我的read\write 函数都是对的,现在抓取波形发现在读取某寄存器值时,应该读出为1时,波形电压才1.2V,波形介于高低电平之间,感觉电压达不到高电平3.3v。所以老是读出为0.请问原子哥这是什么原因。
你不努力,谁都会看不起你!
回复 支持 反对

使用道具 举报

15

主题

61

帖子

0

精华

初级会员

Rank: 2

积分
178
金钱
178
注册时间
2011-9-16
在线时间
8 小时
 楼主| 发表于 2012-6-18 09:20:17 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
补充一下,原子哥。我们的板子出现过读出来的情况,但只是正确打印几分钟,就一直打印不了,一直为0.所以才去抓取读函数的波形,发现上面的问题
你不努力,谁都会看不起你!
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

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

使用道具 举报

15

主题

61

帖子

0

精华

初级会员

Rank: 2

积分
178
金钱
178
注册时间
2011-9-16
在线时间
8 小时
 楼主| 发表于 2012-6-18 15:59:59 | 显示全部楼层
回复【5楼】正点原子:
---------------------------------
原子哥,我看了ssd1963的手册,有些不明白
1、不知道该如何配置TE引脚,要不要配置该引脚。
2、就是lcd_gen0 即lcd signal generator 0 是什么啊,该在什么时候配置啊
我看了网上的一些程序,它们好像都没进行这些相关设置
你不努力,谁都会看不起你!
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2012-6-18 16:05:44 | 显示全部楼层
回复【6楼】fengcq126:
---------------------------------
SSD1963我没用过
网上搜索了一下,说SSD1963的稳定性很差.有朋友再三改板1963还是有问题.所以你的会不会是PCB有问题呢?
据说RA8875稳定性比1963好很多.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

15

主题

61

帖子

0

精华

初级会员

Rank: 2

积分
178
金钱
178
注册时间
2011-9-16
在线时间
8 小时
 楼主| 发表于 2012-6-18 16:33:38 | 显示全部楼层
回复【7楼】正点原子:
---------------------------------

那谢谢了,我再看看吧
你不努力,谁都会看不起你!
回复 支持 反对

使用道具 举报

5

主题

33

帖子

0

精华

初级会员

Rank: 2

积分
73
金钱
73
注册时间
2012-4-15
在线时间
0 小时
发表于 2012-9-20 22:54:18 | 显示全部楼层
要连读,可以独到的。
回复 支持 反对

使用道具 举报

5

主题

33

帖子

0

精华

初级会员

Rank: 2

积分
73
金钱
73
注册时间
2012-4-15
在线时间
0 小时
发表于 2012-9-20 22:59:49 | 显示全部楼层
LCD_WR_REG(0xa1);  
//DeviceCode = LCD_ReadReg(0x00a1);   
printf("19963 LCD ID:%x\n",LCD_ReadReg(0x00a1)); //打印LCD ID 
printf("19963 LCD ID:%x\n",LCD_ReadReg(0x00a1)); //打印LCD ID 
printf("19963 LCD ID:%x\n",LCD_ReadReg(0x00a1)); //打印LCD ID 
printf("19963 LCD ID:%x\n",LCD_ReadReg(0x00a1)); //打印LCD ID 
printf("19963 LCD ID:%x\n",LCD_ReadReg(0x00a1)); //打印LCD ID  



u16 LCD_ReadReg(u8 LCD_Reg)
{    
u16 t;
// LCD_WR_REG(LCD_Reg);  //写入要读的寄存器号  
GPIOB->CRL=0X88888888; //PB0-7  上拉输入
GPIOB->CRH=0X88888888; //PB8-15 上拉输入
GPIOB->ODR=0XFFFF;    //全部输出高
#if LCD_FAST_IO==1 //快速IO
LCD_RS_SET;
LCD_CS_CLR;
//读取数据(读寄存器时,并不需要读2次)
LCD_RD_CLR;
delay_us(5);//FOR 8989,延时5us    
LCD_RD_SET;
t=DATAIN;  
LCD_CS_SET; 
#else
LCD_RS=1;
LCD_CS=0;
//读取数据(读寄存器时,并不需要读2次)
LCD_RD=0;    
LCD_RD=1;
t=DATAIN;  
LCD_CS=1; 
#endif  
GPIOB->CRL=0X33333333; //PB0-7  上拉输出
GPIOB->CRH=0X33333333; //PB8-15 上拉输出
GPIOB->ODR=0XFFFF;    //全部输出高
return t;  
}   
回复 支持 反对

使用道具 举报

5

主题

33

帖子

0

精华

初级会员

Rank: 2

积分
73
金钱
73
注册时间
2012-4-15
在线时间
0 小时
发表于 2012-9-20 23:00:58 | 显示全部楼层
这个是我读的代码,你可以参考下,我用STM32和51单片机都可以读到SSD1963的0XA1的ID;
回复 支持 反对

使用道具 举报

6

主题

114

帖子

0

精华

初级会员

Rank: 2

积分
180
金钱
180
注册时间
2011-2-28
在线时间
8 小时
发表于 2013-2-5 10:09:07 | 显示全部楼层
   谢谢,我试试。
我会很乐意与你交流的。
回复 支持 反对

使用道具 举报

0

主题

11

帖子

0

精华

新手上路

积分
31
金钱
31
注册时间
2013-4-5
在线时间
0 小时
发表于 2015-6-23 19:52:32 | 显示全部楼层
回复【12楼】lcc8559:
---------------------------------
怎么样,做出来了没?
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
15
金钱
15
注册时间
2016-7-31
在线时间
2 小时
发表于 2016-7-31 13:16:42 | 显示全部楼层
正点原子 发表于 2012-6-18 09:55
是不是你的1963板子有问题啊.

原子哥,有木有51单片机驱动SSD1963的例程啊
回复 支持 反对

使用道具 举报

1

主题

7

帖子

0

精华

新手上路

积分
23
金钱
23
注册时间
2016-10-13
在线时间
3 小时
发表于 2016-10-13 18:56:25 | 显示全部楼层
我也在弄这个1963的驱动,不懂你那有例程吗
回复 支持 反对

使用道具 举报

20

主题

143

帖子

0

精华

初级会员

Rank: 2

积分
64
金钱
64
注册时间
2015-8-28
在线时间
108 小时
发表于 2017-2-23 16:50:01 | 显示全部楼层
promcu 发表于 2012-9-20 22:59
LCD_WR_REG(0xa1);  
        //DeviceCode = LCD_ReadReg(0x00a1);   
        pri ...

读取ID一直为0,但是读取其他寄存器的值正确的,比较复位后和修改后读取的寄存器值都是正确的。读ID就是读不出来啊
回复 支持 反对

使用道具 举报

15

主题

338

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1290
金钱
1290
注册时间
2016-3-16
在线时间
285 小时
发表于 2017-6-2 16:46:43 | 显示全部楼层
楼主是用FSMC来驱动SSD1963吗?
读寄存器函数加点延时看看
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-8-18 16:40

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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