在键盘页面按下OK键时将参数通过串口发送出去

1、以文本类型发送

提示

编辑ok按钮的弹起事件,在page指令前添加以下代码

../../../_images/1_5.png

注意

page指令之后的指令是不会被执行的,因为已经跳转到别的页面了。

提示

这里作为帧头的 55 并不固定,是可以修改为你自己定义的其他帧头,你可以定义多个字节作为帧头

00 01 02 是作为标记来区分n0.val、n1.val、n2.val,可以根据自己的需求进行更改

完整的代码如下

//调用此页之前,先对此页的loadpageid.val和loadcmpid.val赋值就可以了,其他的逻辑本页会自动实现
//loadpageid.val表示调用页的页面ID,loadcmpid.val表示调用页的控件ID
if(p[loadpageid.val].b[loadcmpid.val].type==54)
{
   covx input.txt,p[loadpageid.val].b[loadcmpid.val].val,0,0
}else if(p[loadpageid.val].b[loadcmpid.val].type==59)
{
   covx input.txt,temp.val,0,0
if(temp.val<0)
{
   temp.val*=-1
}
for(temp2.val=0;temp2.val<p[loadpageid.val].b[loadcmpid.val].vvs1;temp2.val++)
{
   temp.val*=10
}
p[loadpageid.val].b[loadcmpid.val].val=temp.val
strlen input.txt,temp.val
temp.val--
while(temp.val>=0)
{
   substr input.txt,tempstr.txt,temp.val,1
   if(tempstr.txt==".")
   {
      substr input.txt,tempstr.txt,temp.val+1,p[loadpageid.val].b[loadcmpid.val].vvs1
      covx tempstr.txt,temp2.val,0,0
      strlen tempstr.txt,temp.val
      while(temp.val<p[loadpageid.val].b[loadcmpid.val].vvs1)
      {
         temp2.val*=10
         temp.val++
      }
      p[loadpageid.val].b[loadcmpid.val].val+=temp2.val
      temp.val=-1
   }
   temp.val--
}
substr input.txt,tempstr.txt,0,1
if(tempstr.txt=="-")
{
   p[loadpageid.val].b[loadcmpid.val].val*=-1
}
}else
{
   p[loadpageid.val].b[loadcmpid.val].txt=input.txt
}
//区分不同页面的不同变量
if(loadpageid.val==0&&loadcmpid.val==page0.n0.id)
{
   printh 55 00  //先发送一个帧头,用来告诉下位机这个是n0
   prints input.txt,0  //发送输入框内的数据
   printh 0d 0a  //发送帧尾
}else if(loadpageid.val==0&&loadcmpid.val==page0.n1.id)
{
   printh 55 01  //先发送一个帧头,用来告诉下位机这个是n1
   prints input.txt,0  //发送输入框内的数据
   printh 0d 0a  //发送帧尾
}else if(loadpageid.val==0&&loadcmpid.val==page0.n2.id)
{
   printh 55 02  //先发送一个帧头,用来告诉下位机这个是n2
   prints input.txt,0  //发送输入框内的数据
   printh 0d 0a  //发送帧尾
}
page loadpageid.val

2、以数值类型发送

提示

编辑ok按钮的弹起事件,在page指令前添加以下代码

../../../_images/1_6.png

注意

page指令之后的指令是不会被执行的,因为已经跳转到别的页面了。

提示

这里作为帧头的 55 并不固定,是可以修改为你自己定义的其他帧头,你可以定义多个字节作为帧头

00 01 02 是作为标记来区分n0.val、n1.val、n2.val,可以根据自己的需求进行更改

完整的代码如下

//调用此页之前,先对此页的loadpageid.val和loadcmpid.val赋值就可以了,其他的逻辑本页会自动实现
//loadpageid.val表示调用页的页面ID,loadcmpid.val表示调用页的控件ID
if(p[loadpageid.val].b[loadcmpid.val].type==54)
{
    covx input.txt,p[loadpageid.val].b[loadcmpid.val].val,0,0
}else if(p[loadpageid.val].b[loadcmpid.val].type==59)
{
    covx input.txt,temp.val,0,0
    if(temp.val<0)
    {
    temp.val*=-1
    }
    for(temp2.val=0;temp2.val<p[loadpageid.val].b[loadcmpid.val].vvs1;temp2.val++)
    {
    temp.val*=10
    }
    p[loadpageid.val].b[loadcmpid.val].val=temp.val
    strlen input.txt,temp.val
    temp.val--
    while(temp.val>=0)
    {
    substr input.txt,tempstr.txt,temp.val,1
    if(tempstr.txt==".")
    {
        substr input.txt,tempstr.txt,temp.val+1,p[loadpageid.val].b[loadcmpid.val].vvs1
        covx tempstr.txt,temp2.val,0,0
        strlen tempstr.txt,temp.val
        while(temp.val<p[loadpageid.val].b[loadcmpid.val].vvs1)
        {
        temp2.val*=10
        temp.val++
        }
        p[loadpageid.val].b[loadcmpid.val].val+=temp2.val
        temp.val=-1
    }
    temp.val--
    }
    substr input.txt,tempstr.txt,0,1
    if(tempstr.txt=="-")
    {
    p[loadpageid.val].b[loadcmpid.val].val*=-1
    }
}else
{
    p[loadpageid.val].b[loadcmpid.val].txt=input.txt
}
//区分不同页面的不同变量
if(loadpageid.val==0&&loadcmpid.val==page0.n0.id)
{
    //先发送一个帧头,用来告诉下位机这个是n0
    printh 55 00

    //将文本转换为数值
    covx input.txt,sys0,0,0

    //发送输入框内的数据
    prints sys0,0

    //发送帧尾
    printh 0d 0a

}else if(loadpageid.val==0&&loadcmpid.val==page0.n1.id)
{
    //先发送一个帧头,用来告诉下位机这个是n1
    printh 55 01

    //将文本转换为数值
    covx input.txt,sys0,0,0

    //发送输入框内的数据
    prints sys0,0

    //发送帧尾
    printh 0d 0a
}else if(loadpageid.val==0&&loadcmpid.val==page0.n2.id)
{
    //先发送一个帧头,用来告诉下位机这个是n2
    printh 55 02

    //将文本转换为数值
    covx input.txt,sys0,0,0

    //发送输入框内的数据
    prints sys0,0

    //发送帧尾
    printh 0d 0a
}
page loadpageid.val

在键盘页面按下OK键时将参数通过串口发送出去-样例工程下载

演示工程下载链接:

《在键盘页面按下OK键时将参数通过串口发送出去-以数值类型发送》演示工程下载

《在键盘页面按下OK键时将参数通过串口发送出去-以文本类型发送》演示工程下载