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

1、以文本类型发送

提示

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

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

注意

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

提示

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

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

完整的代码如下

 1//调用此页之前,先对此页的loadpageid.val和loadcmpid.val赋值就可以了,其他的逻辑本页会自动实现
 2//loadpageid.val表示调用页的页面ID,loadcmpid.val表示调用页的控件ID
 3if(p[loadpageid.val].b[loadcmpid.val].type==54)
 4{
 5   covx input.txt,p[loadpageid.val].b[loadcmpid.val].val,0,0
 6}else if(p[loadpageid.val].b[loadcmpid.val].type==59)
 7{
 8   covx input.txt,temp.val,0,0
 9if(temp.val<0)
10{
11   temp.val*=-1
12}
13for(temp2.val=0;temp2.val<p[loadpageid.val].b[loadcmpid.val].vvs1;temp2.val++)
14{
15   temp.val*=10
16}
17p[loadpageid.val].b[loadcmpid.val].val=temp.val
18strlen input.txt,temp.val
19temp.val--
20while(temp.val>=0)
21{
22   substr input.txt,tempstr.txt,temp.val,1
23   if(tempstr.txt==".")
24   {
25      substr input.txt,tempstr.txt,temp.val+1,p[loadpageid.val].b[loadcmpid.val].vvs1
26      covx tempstr.txt,temp2.val,0,0
27      strlen tempstr.txt,temp.val
28      while(temp.val<p[loadpageid.val].b[loadcmpid.val].vvs1)
29      {
30         temp2.val*=10
31         temp.val++
32      }
33      p[loadpageid.val].b[loadcmpid.val].val+=temp2.val
34      temp.val=-1
35   }
36   temp.val--
37}
38substr input.txt,tempstr.txt,0,1
39if(tempstr.txt=="-")
40{
41   p[loadpageid.val].b[loadcmpid.val].val*=-1
42}
43}else
44{
45   p[loadpageid.val].b[loadcmpid.val].txt=input.txt
46}
47//区分不同页面的不同变量
48if(loadpageid.val==0&&loadcmpid.val==page0.n0.id)
49{
50   printh 55 00  //先发送一个帧头,用来告诉下位机这个是n0
51   prints input.txt,0  //发送输入框内的数据
52   printh 0d 0a  //发送帧尾
53}else if(loadpageid.val==0&&loadcmpid.val==page0.n1.id)
54{
55   printh 55 01  //先发送一个帧头,用来告诉下位机这个是n1
56   prints input.txt,0  //发送输入框内的数据
57   printh 0d 0a  //发送帧尾
58}else if(loadpageid.val==0&&loadcmpid.val==page0.n2.id)
59{
60   printh 55 02  //先发送一个帧头,用来告诉下位机这个是n2
61   prints input.txt,0  //发送输入框内的数据
62   printh 0d 0a  //发送帧尾
63}
64page loadpageid.val

2、以数值类型发送

提示

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

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

注意

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

提示

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

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

完整的代码如下

 1 //调用此页之前,先对此页的loadpageid.val和loadcmpid.val赋值就可以了,其他的逻辑本页会自动实现
 2 //loadpageid.val表示调用页的页面ID,loadcmpid.val表示调用页的控件ID
 3 if(p[loadpageid.val].b[loadcmpid.val].type==54)
 4 {
 5     covx input.txt,p[loadpageid.val].b[loadcmpid.val].val,0,0
 6 }else if(p[loadpageid.val].b[loadcmpid.val].type==59)
 7 {
 8     covx input.txt,temp.val,0,0
 9     if(temp.val<0)
10     {
11     temp.val*=-1
12     }
13     for(temp2.val=0;temp2.val<p[loadpageid.val].b[loadcmpid.val].vvs1;temp2.val++)
14     {
15     temp.val*=10
16     }
17     p[loadpageid.val].b[loadcmpid.val].val=temp.val
18     strlen input.txt,temp.val
19     temp.val--
20     while(temp.val>=0)
21     {
22     substr input.txt,tempstr.txt,temp.val,1
23     if(tempstr.txt==".")
24     {
25         substr input.txt,tempstr.txt,temp.val+1,p[loadpageid.val].b[loadcmpid.val].vvs1
26         covx tempstr.txt,temp2.val,0,0
27         strlen tempstr.txt,temp.val
28         while(temp.val<p[loadpageid.val].b[loadcmpid.val].vvs1)
29         {
30         temp2.val*=10
31         temp.val++
32         }
33         p[loadpageid.val].b[loadcmpid.val].val+=temp2.val
34         temp.val=-1
35     }
36     temp.val--
37     }
38     substr input.txt,tempstr.txt,0,1
39     if(tempstr.txt=="-")
40     {
41     p[loadpageid.val].b[loadcmpid.val].val*=-1
42     }
43 }else
44 {
45     p[loadpageid.val].b[loadcmpid.val].txt=input.txt
46 }
47 //区分不同页面的不同变量
48 if(loadpageid.val==0&&loadcmpid.val==page0.n0.id)
49 {
50     //先发送一个帧头,用来告诉下位机这个是n0
51     printh 55 00
52
53     //将文本转换为数值
54     covx input.txt,sys0,0,0
55
56     //发送输入框内的数据
57     prints sys0,0
58
59     //发送帧尾
60     printh 0d 0a
61
62 }else if(loadpageid.val==0&&loadcmpid.val==page0.n1.id)
63 {
64     //先发送一个帧头,用来告诉下位机这个是n1
65     printh 55 01
66
67     //将文本转换为数值
68     covx input.txt,sys0,0,0
69
70     //发送输入框内的数据
71     prints sys0,0
72
73     //发送帧尾
74     printh 0d 0a
75 }else if(loadpageid.val==0&&loadcmpid.val==page0.n2.id)
76 {
77     //先发送一个帧头,用来告诉下位机这个是n2
78     printh 55 02
79
80     //将文本转换为数值
81     covx input.txt,sys0,0,0
82
83     //发送输入框内的数据
84     prints sys0,0
85
86     //发送帧尾
87     printh 0d 0a
88 }
89 page loadpageid.val

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

演示工程下载链接:

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

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

资源合集汇总