迪文科技论坛

 找回密码
 立即注册
搜索
查看: 477|回复: 1

【提问】怎么绘制实时动态曲线?

[复制链接]

4

主题

2

回帖

79

积分

注册会员

Rank: 2

积分
79
发表于 2022-5-4 15:47:19 | 显示全部楼层 |阅读模式
我想在屏上进行数据的更改,并且用曲线显示出来,和示波器差不多的样子。数据变量录入和显示控件的地址是0x6000。
下面是我现在写的程序,请问一下该怎么改啊?


#include "sys.h"

void sin_chart_draw()
{
        #define X_POINTS_NUM                918         
        #define CHART_ID                        0               
        #define READ_NUM                        0x6000
        float val;
        
        u16 point;
        u8 num;
        
        for(point=0;point<X_POINTS_NUM;point++)
        {
                sys_read_vp(READ_NUM,(u8*)&val,1);

                sys_write_chart(CHART_ID,(u16)(val+0.5f));
                sys_delay_ms(16);
        }
        
        if(point==918)
        {
                num = 0;
          sys_write_vp(0x0310,&num,1);
          point = 0;
        }
        
}

void main(void)
{   
        sys_init();
        
        
        while(1)
        {   
    sin_chart_draw();
        }
}

回复

使用道具 举报

4

主题

2

回帖

79

积分

注册会员

Rank: 2

积分
79
 楼主| 发表于 2022-5-4 20:07:16 | 显示全部楼层
解决了,这样好像就可以了


float val;
       
u16 point;
int a;
       
        for(point=0;point<X_POINTS_NUM;point++)
        {
                sys_read_vp(READ_NUM,(u8*)&a,1);
                sys_write_vp(REMEMBER_NUM,(u8*)&a,1);
       
                val = a/10;
         
                sys_write_chart(CHART_ID,(u16)(val+0.5f));
                sys_delay_ms(20);
        }
回复

使用道具 举报

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

本版积分规则

QQ|Archiver|手机版|小黑屋|迪文科技论坛 ( 京ICP备05033781号-1 )

GMT+8, 2025-7-12 16:55 , Processed in 0.029548 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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