OpenEdv-开源电子网

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

想请大佬告知,实现波形动态显示而不是每次都刷新该怎么去实现呢?怎么定义缓冲区实现呢?

[复制链接]

4

主题

6

帖子

0

精华

新手上路

积分
26
金钱
26
注册时间
2020-9-4
在线时间
9 小时
发表于 2020-11-24 17:03:18 | 显示全部楼层 |阅读模式
/******************************************************************
函数名称:clear_point()
函数功能:循环更新波形
参数说明:mode 波形模式选择 1——连线模式,0——打点模式
备    注:波形的显示可采用打点方式和绘制线方式
*******************************************************************/
void clear_point(u16 mode)
{
        u16 x,i,past_vol,pre_vol;
        static u16 h;
       
        POINT_COLOR=BLUE;
        fre=36000/pre;//更新采样频率
        LCD_ShowNum(261,220,fre,5,16);//更新采样率显示
       
        for(x=0;x<256;x++)            //用循环来按列清除波形在显示,后面要放在缓冲区里面擦除显示,更新缓冲区在现实到LCD上就是了
        {       
                POINT_COLOR=BLACK;        //按列清除
                if(x !=128)        //去除y轴列清除 为什么这个是可以清除y轴
                        lcd_huaxian(x,4,x,197);

                pre_vol = 50+adcx[x]/4096.0*100;

                //波形更新
                if(mode==1)
                {
                        POINT_COLOR=YELLOW;
                        if(x>0&&x<240&&x!=128)        //去除第一个,最后一个以及y轴上点的绘制   连线
                                lcd_huaxian(x,past_vol,x+1,pre_vol);
                }
                else
                        lcd_huadian(x,pre_vol,YELLOW);
               
                past_vol = pre_vol;
        }
       
}

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

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-23 09:58

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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