迪文科技论坛

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

【提问】现在要把K600+的一个C51程序进行移植到T5L_DGUS II 上

[复制链接]

2

主题

3

回帖

37

积分

新手上路

Rank: 1

积分
37
发表于 2021-2-5 10:14:30 | 显示全部楼层 |阅读模式
现在要把K600+的一个C51程序进行移植到T5L_DGUS II 上,是之前其他人写的程序,其中有一个画线的部分,这边有没有什么文档可以说明这些参数是啥意思我好对应去修改。

void DrawLine(uchar num,uint color,uchar thin,uchar lflag,uchar y0,uchar y1)
{

        uchar i=0,j=0;
        uint x = lflag?X2:X1;
        uchar y = 0;
        
        if(y0>7 || y1>7 || num>0x0C){
                Send1Data(y0);
                Send1Data(y1);
                Send1Data(num);
                return;        //最大只能有8个值,从0开始,依次对应8种线;线序最多只有12根
        }
        if(color==0xFFFF && thin==1) y = 5;
        
        for(i=0,j=0;i<(thin?3:5);i++,j++){
                DBuf[0+i*16] = (uchar)(X0>>8);
                DBuf[1+i*16] = (uchar)X0;
                DBuf[2+i*16] = (uchar)((Y[y0]+y+j)>>8);
                DBuf[3+i*16] = (uchar)(Y[y0]+y+j);
                DBuf[4+i*16] = (uchar)(x>>8);                //短线的长度为X1 长线的为X2
                DBuf[5+i*16] = (uchar)(x);                        
                DBuf[6+i*16] = (uchar)((Y[y1]+y+j)>>8);
                DBuf[7+i*16] = (uchar)(Y[y1]+y+j);
                j++;
                if(thin && i==3) break;
                DBuf[8+i*16] = (uchar)(x>>8);
                DBuf[9+i*16] = (uchar)(x);
                DBuf[10+i*16] = (uchar)((Y[y1]+y+j)>>8);
                DBuf[11+i*16] = (uchar)(Y[y1]+y+j);
                DBuf[12+i*16] = (uchar)(X0>>8);               
                DBuf[13+i*16] = (uchar)X0;                        
                DBuf[14+i*16] = (uchar)((Y[y0]+y+j)>>8);
                DBuf[15+i*16] = (uchar)(Y[y0]+y+j);
        }

        Send1Data(0x5A);
        Send1Data(0xA5);
        Send1Data(thin?0x33:0x5B);
        Send1Data(0x82);
        Send1Data(num);                                //序号
        Send1Data(0x00);
        Send1Data(0x00);
        Send1Data(0x02);
        Send1Data(0x00);
        Send1Data(thin?0x09:0x12);
        Send1Data((uchar)(color>>8));
        Send1Data((uchar)color);
        Send1Datas(DBuf,(thin?40:80));
        Send1Data(0xFF);
        Send1Data(0x00);        
}

//清除画线
void ClearLine(void)
{
        uchar i;
        xdata uchar buf[]={0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x02,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x02,0x00,0x01,0x00,0x03,0x00,0x01,0x00,0x04,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x04,0x00,0x01,0x00,0x05};
        for(i=1;i<0x0D;i++){
                Send1Data(0x5A);
                Send1Data(0xA5);
                Send1Data(0x33);
                Send1Data(0x82);
                Send1Data(i);                //序号
                Send1Data(0x00);
                Send1Data(0x00);
                Send1Data(0x02);
                Send1Data(0x00);
                Send1Data(0x09);
                Send1Data(0xFF);
                Send1Data(0xFF);
                Send1Datas(buf,sizeof(buf));               
                Send1Data(0xFF);
                Send1Data(0x00);
        }        
}


回复

使用道具 举报

0

主题

20

回帖

1932

积分

金牌会员

Rank: 6Rank: 6

积分
1932
发表于 2021-2-5 17:03:38 | 显示全部楼层
楼主,您好,K600+和T5L的指令稍有不同,您可以参考如下文档去开发哦
【开发资料】T5L系统变量接口说明(详细)20200609
http://inforum.dwin.com.cn:20080 ... 7&fromuid=12558
(出处: 迪文科技论坛)
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-23 09:37 , Processed in 0.066620 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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