OpenEdv-开源电子网

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

RA8806控制LCD会出现屏幕闪烁

[复制链接]

33

主题

209

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
361
金钱
361
注册时间
2014-1-20
在线时间
0 小时
发表于 2014-3-14 14:30:05 | 显示全部楼层 |阅读模式
我是将图层一用于显示字符,图层二用于画简单的图形。采取DDRAM1 OR DDRAM2的形式显示。屏幕刷新的时候会出现屏幕闪烁,就是一条一条横屏的暗纹,会移动。跟小时候看的黑白电视机信号不好的时候一样。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

33

主题

209

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
361
金钱
361
注册时间
2014-1-20
在线时间
0 小时
 楼主| 发表于 2014-3-14 14:32:45 | 显示全部楼层
然后我把用于显示字符的图层屏蔽了,只刷画图的DDRAM2。就不会出现这种情况了
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
发表于 2014-3-14 15:50:36 | 显示全部楼层
回复【2楼】Chaplin:
---------------------------------
刷屏速度慢造成的吧,你什么控制的,IO还是FSMC还是SPI。。。
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

33

主题

209

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
361
金钱
361
注册时间
2014-1-20
在线时间
0 小时
 楼主| 发表于 2014-3-14 16:23:44 | 显示全部楼层
回复【3楼】Badu_Space:
---------------------------------
FSMC。。。

void LCD_DataWrite(uchar b)  //单字节写
{
   // Busy();
   uchar BusyIO = 0xff;
   BusyIO = Busy_bit();
   while(BusyIO & 0x01);
_CS_OFF();
_RD_ON();
_A0_OFF();
_WR_OFF();
Lcd_delay3us(5);
Lcd_Write_Data(b);
Lcd_delay3us(10);
_WR_ON();
_CS_ON();
}
void LCD_CmdWrite(uchar com)
{
  //  Busy();
   uchar BusyIO = 0xff;
   BusyIO = Busy_bit();
   while(BusyIO & 0x01);
_CS_OFF();
_RD_ON();
_A0_ON();
_WR_OFF();
Lcd_delay3us(5);
Lcd_Write_Data(com);
Lcd_delay3us(10);
_WR_ON();
_CS_ON();
}
    //连续写多个字节
// Lcd_delay3us(5);
_CS_OFF();
_RD_ON();
_A0_OFF(); 
_WR_OFF();
Lcd_delay3us(3);
    while( *p > 0 )
    {
    _WR_OFF();
    Lcd_delay3us(5);
      Lcd_Write_Data(*p);
++p;
Lcd_delay3us(10);
_WR_ON();
    }
   _CS_ON();
   _WR_ON();
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
发表于 2014-3-14 16:36:19 | 显示全部楼层
回复【4楼】Chaplin:
---------------------------------
你这时IO模拟时序控制的
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

33

主题

209

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
361
金钱
361
注册时间
2014-1-20
在线时间
0 小时
 楼主| 发表于 2014-3-14 17:16:56 | 显示全部楼层
回复【5楼】Badu_Space:
---------------------------
我承认错误。我不懂。能帮忙分析分析原因吗?为什么把刷字的DDRAM1屏蔽了就不会
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
发表于 2014-3-14 17:26:48 | 显示全部楼层
回复【6楼】Chaplin:
---------------------------------
你刷的是中文字符还是ASCII字符,字符的数据库存放在什么地方,假如存放在外部的flash中,那flash的读取速度怎么样,假如存在SD卡中,读取速度怎么样,这样也要考虑到的
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

3

主题

2178

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3323
金钱
3323
注册时间
2013-7-19
在线时间
195 小时
发表于 2014-3-14 19:05:34 | 显示全部楼层
刷屏速度不够造成的吧
回复 支持 反对

使用道具 举报

33

主题

209

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
361
金钱
361
注册时间
2014-1-20
在线时间
0 小时
 楼主| 发表于 2014-3-15 10:10:44 | 显示全部楼层
回复【8楼】ricefat:
---------------------------------
改快了就更明显了。我屏蔽刷DDRAM1(存储文字)就不会出现了
回复 支持 反对

使用道具 举报

33

主题

209

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
361
金钱
361
注册时间
2014-1-20
在线时间
0 小时
 楼主| 发表于 2014-3-15 10:19:51 | 显示全部楼层
回复【7楼】Badu_Space:
---------------------------------
我只知道RA8806支持中文字库。但是字库在哪里不太了解,因为驱动不是我写的我只是通过一个范例写的!
回复 支持 反对

使用道具 举报

33

主题

209

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
361
金钱
361
注册时间
2014-1-20
在线时间
0 小时
 楼主| 发表于 2014-3-15 10:22:12 | 显示全部楼层
还是驱动的问题?
LCD.jpg
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
发表于 2014-3-15 10:30:08 | 显示全部楼层
回复【10楼】Chaplin:
---------------------------------
哦,那你就要根据你这个显示屏的数据手册里面的参数进行修改了
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

33

主题

209

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
361
金钱
361
注册时间
2014-1-20
在线时间
0 小时
 楼主| 发表于 2014-3-15 10:34:11 | 显示全部楼层
回复【12楼】Badu_Space:
---------------------------------
嗯。可能是我找问题的方法不对吧,只能慢慢找了!之前一直对着寄存器改但是还是不行。还是从刷字那里找吧
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-9 11:36

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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