新手TFT显示波形原理及方法
本帖最后由 max-men 于 2013-5-27 09:55 编辑新手求TFT或点阵显示波形原理及方法,想不通如何显示波形的同时显示方网格,如能帖上您保贵的代码将不胜感激
P~PS: 各位高手,有没有比较系统一点的方法介绍,这样说得挺乱的我等理解不了啊,有什么教程之类的就更好了 显示波形点时判断当前点是否是网格点,一点小想法,仅供参考。 描点、画线,清屏。 hujian2288 发表于 2013-5-26 23:01 static/image/common/back.gif
描点、画线,清屏。
哪如何同时显示网格和波形
描点、画线,画网格,清屏。 holts2 发表于 2013-5-26 23:16 static/image/common/back.gif
描点、画线,画网格,清屏。
那不是刷屏一次画一次网格? 是的 不是这样的,记住上次的点,只清上次所画的点,这样速度才快 stm8s 发表于 2013-5-27 00:57 static/image/common/back.gif
不是这样的,记住上次的点,只清上次所画的点,这样速度才快
那也就是在RAM里存放显示过的点,如果屏比较大比如4.2吋 那不是相当占内存 用两个数组,一个存放当前显示点,用来画当前波形,另一个存放上一次显示点,颜色与背景色相同,这样就可以比较快的实现画点了!! stm8s 发表于 2013-5-27 00:57 static/image/common/back.gif
不是这样的,记住上次的点,只清上次所画的点,这样速度才快
对的,我以前做过一个波形显示的,就是这样实现的 //---------------------------------------------------------------------------------
for (x=0;x<320;x++) { //擦除上一帧 波形
if ( (DATA2>28) & (DATA2<228) ){
dat = 255-DATA2;
dat = dat-28;
dat = dat+y1+1;
a=dat&0x00ff;
color = X_Table + Y_Table;//背景网格
color = color << 5;
LCD_SET_XY(x+x1+1,a);
LCD_CS_Low();
LCD_RS_High();
LCD_Write_Data_16(color);
}
}
//---------------------------------------------------------------------------------
for (x=0;x<320;x++) { //画新的一帧 波形
if ( (DATA>28) & (DATA<228) ) {
dat = 255-DATA;
dat = dat-28;
dat = dat+y1+1;
a=dat&0x00ff;
LCD_SET_XY(x+x1+1,a);
LCD_CS_Low();
LCD_RS_High();
LCD_Write_Data_16(0x07c0);
}
}
//----------------------------------------------
for (x=0;x<400;x++) { //新波形存入DATA2[]
a=DATA;
DATA2=a;
} roc. 发表于 2013-7-8 16:59 static/image/common/back.gif
//---------------------------------------------------------------------------------
for (x=0;x28) & ...
就使用一个数组作为显示缓存,显示部分只负责不停地显示数组数据。获取部分只负责更新数据 shentqlf 发表于 2013-7-8 16:43 static/image/common/back.gif
对的,我以前做过一个波形显示的,就是这样实现的
记住原来显示的点
那是不是说在更新一屏时:程序要对每个点的坐标进行判断,来知道是否原来的点
在屏的分辨率比较高时,这样的判断功能岂不要花费大量的时间? fishplj2000 发表于 2013-7-8 20:13
记住原来显示的点
那是不是说在更新一屏时:程序要对每个点的坐标进行判断,来知道是否原来的点
在屏的分 ...
我觉得事实上就是按照保存的数据用背景色来描图,也就是说上一次波形的擦除,相当于是利用备份数据和背景色描波形图。所以不会很慢,也不需要对比。
页:
[1]