在键盘页面按下OK键时将参数通过串口发送出去
1、以文本类型发送
提示
编辑ok按钮的弹起事件,在page指令前添加以下代码
注意
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指令前添加以下代码
注意
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键时将参数通过串口发送出去-样例工程下载
演示工程下载链接: