打印

彩屏刷屏的问题

[复制链接]
3255|23
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
chen3bing|  楼主 | 2011-9-8 09:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
chen3bing|  楼主 | 2011-9-8 09:17 | 只看该作者
我把刷屏的计数变量由long改为uint,时间变为1.6秒。

使用特权

评论回复
板凳
chen3bing|  楼主 | 2011-9-8 09:39 | 只看该作者
我把颜色填充有16位改为8位(256色),刷屏时间变为0.827秒。

使用特权

评论回复
地板
huangqi412| | 2011-9-8 09:43 | 只看该作者
用51刷这么大的彩屏?

使用特权

评论回复
5
chen3bing|  楼主 | 2011-9-8 10:06 | 只看该作者
还可以更短吗?

使用特权

评论回复
6
holle| | 2011-9-8 10:10 | 只看该作者
只刷需要改动的部分

使用特权

评论回复
7
chen3bing|  楼主 | 2011-9-8 11:12 | 只看该作者
刷全屏可不可以做到更短?我是想知道是不是我程序有问题。

使用特权

评论回复
8
yadaovs| | 2011-9-8 13:08 | 只看该作者
感觉表示很好了啊。楼主只显示文字吧,不会有图片吧

使用特权

评论回复
9
chen3bing|  楼主 | 2011-9-8 13:20 | 只看该作者
只显示文字是这个速度,以后还要显示图片。

使用特权

评论回复
10
chen3bing|  楼主 | 2011-9-8 13:51 | 只看该作者
我把刷屏for循环里的++改为--的方式,刷屏时间由827.1025ms减为779.6179ms。

使用特权

评论回复
11
xwj| | 2011-9-8 14:50 | 只看该作者
用DMA,或者至少把小循环改成大循环,一次写N个点

使用特权

评论回复
12
chen3bing|  楼主 | 2011-9-8 15:11 | 只看该作者
谢谢xwj。现在变成687.8204ms了。

使用特权

评论回复
13
xwj| | 2011-9-8 15:25 | 只看该作者
先贴电路和程序再讨论。

不过,根本解决之道还是建议换个CPU。

使用特权

评论回复
14
chen3bing|  楼主 | 2011-9-8 15:29 | 只看该作者
刷屏程序:
void ClearScreen(uchar color)
{
uchar j,k;
/***
设定显示屏幕的大小
***/
M7_BUS_Instruction_Command_8(0x2a);
M7_BUS_Instruction_Data_8(0x00);
M7_BUS_Instruction_Data_8(0x00);
M7_BUS_Instruction_Data_8(1);
M7_BUS_Instruction_Data_8(0XDF);//480 //row start_end
M7_BUS_Instruction_Command_8(0x2b);
M7_BUS_Instruction_Data_8(0x00);
M7_BUS_Instruction_Data_8(0x00);
M7_BUS_Instruction_Data_8(1);
M7_BUS_Instruction_Data_8(15);          //272       






M7_BUS_Instruction_Command_8(0x2c);


SetM7_BUSDC();
SetM7_BUSRD();
ClrM7_BUSCS();


//i=16;
//while(i--)
//{

for (j=34;j>0;j--)
{
for(k=120;k>0;k--)
{
//M7_BUS_Data_Input(color);
M7_BUS_Data_Color_8(color);         //一次写32个点
M7_BUS_Data_Color_8(color);
M7_BUS_Data_Color_8(color);
M7_BUS_Data_Color_8(color);
M7_BUS_Data_Color_8(color);
M7_BUS_Data_Color_8(color);
M7_BUS_Data_Color_8(color);
M7_BUS_Data_Color_8(color);
M7_BUS_Data_Color_8(color);
M7_BUS_Data_Color_8(color);
M7_BUS_Data_Color_8(color);
M7_BUS_Data_Color_8(color);
M7_BUS_Data_Color_8(color);
M7_BUS_Data_Color_8(color);
M7_BUS_Data_Color_8(color);
M7_BUS_Data_Color_8(color);
M7_BUS_Data_Color_8(color);
M7_BUS_Data_Color_8(color);
M7_BUS_Data_Color_8(color);
M7_BUS_Data_Color_8(color);
M7_BUS_Data_Color_8(color);
M7_BUS_Data_Color_8(color);
M7_BUS_Data_Color_8(color);
M7_BUS_Data_Color_8(color);
M7_BUS_Data_Color_8(color);
M7_BUS_Data_Color_8(color);
M7_BUS_Data_Color_8(color);
M7_BUS_Data_Color_8(color);
M7_BUS_Data_Color_8(color);
M7_BUS_Data_Color_8(color);
M7_BUS_Data_Color_8(color);
M7_BUS_Data_Color_8(color);
}                  //color++;
}

SetM7_BUSCS();
}
换CPU不可能。

使用特权

评论回复
15
hys0401| | 2011-9-8 18:41 | 只看该作者
MCU接口的屏,快不到哪里去。一般能做到150ns一个cycle就不错了.

不过你这个确实太慢了点。

使用特权

评论回复
16
chen3bing|  楼主 | 2011-9-8 18:58 | 只看该作者
有那么快吗?11.0592MHZ的晶振,一个机器周期都是us级的。
不过最好还是哪位大侠给支个招。

使用特权

评论回复
17
aihe| | 2011-9-8 19:19 | 只看该作者
整屏是慢,分开慢慢刷

使用特权

评论回复
18
yadaovs| | 2011-9-8 22:46 | 只看该作者
原来是清屏啊,那显示图片怎么也得5、6秒吧

使用特权

评论回复
19
chen3bing|  楼主 | 2011-9-9 07:44 | 只看该作者
都是填充颜色,速度应该差不多。

使用特权

评论回复
20
chen3bing|  楼主 | 2011-9-9 09:14 | 只看该作者
现在刷新时间变为513.6732ms。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

439

主题

2540

帖子

2

粉丝