窗口程序集名 | 保 留 | 保 留 | 备 注 |
窗口程序集_启动窗口 | | | |
变量名 | 类 型 | 数组 | 备 注 |
集_读写许可证 | 整数型 | |
集_IO缓冲区 | 整数型 | 0 |
集_读写许可证 =
创建进入许可证 ()端口1.端口号 = 6 端口1.波特率 = 115200
如果真 (端口1.
启动 () =
假)
信息框 (“打开串口失败”, 0, ,
)
结束 ()端口1.发送数据 (ADC_初始化GPIO (26))Json.
置属性 (“type”,
“IO-SET”)Json.
置属性 (“mode”,
“adc”)Json.
置属性数值 (“channel”, IO
)返回 (Json.
取数据文本 ())
Json.
置属性 (“type”,
“ADC-READ”)Json.
置属性数值 (“channel”, IO
)返回 (Json.
取数据文本 ())
变量名 | 类 型 | 静态 | 数组 | 备 注 |
Json | 类_json | | |
Range | 双精度小数型 | | |
Temp | 双精度小数型 | | |
端口_清空接收缓冲区 ()端口1.
发送数据 (ADC_读取值 (26
))
程序_延时 (200
)
如果真 (Json.
解析 (到文本 (字节集_十六进制到字节集 (端口_读数据 ())
))
)
Range = 65535 - 23000

Temp = Json.
取属性数值 (“value”) - 23000

Temp = Temp ÷ Range

Temp = Temp × 100

Temp = 100 - Temp

Temp =
选择 (Temp > 100, 100,
选择 (Temp < 0, 0, Temp
))

标签1.标题 =
“土壤湿度: ” +
到文本 (四舍五入 (Temp, 2
)) +
“%”
进入许可区 (集_读写许可证
)加入成员 (集_IO缓冲区, 数据字节值
)退出许可区 (集_读写许可证
)进入许可区 (集_读写许可证
)清除数组 (集_IO缓冲区
)退出许可区 (集_读写许可证
)|
端口_读数据 | 文本型 | |
|
读取的字节数量 | 整数型 | | | |
读取超时时间 | 整数型 | | | | 附加分隔符号 | 逻辑型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 |
局_启动 | 整数型 | | |
局_IO | 整数型 | | 0 |
局_数量 | 整数型 | | |
局_计次 | 整数型 | | |
局_数据 | 文本型 | | |
如果真 (是否为空 (读取超时时间
))

读取超时时间 = 1000
如果 (读取的字节数量 ≤ 0
)
进入许可区 (集_读写许可证
)
局_IO = 集_IO缓冲区
清除数组 (集_IO缓冲区
)
局_启动 =
取启动时间 ()
判断循环首 (取数组成员数 (集_IO缓冲区
) < 读取的字节数量
)
程序_延时 (8
)

如果真 (取启动时间 () - 局_启动 ≥ 读取超时时间
)

跳出循环 ()



判断循环尾 ()
进入许可区 (集_读写许可证
)
局_数量 =
选择 (取数组成员数 (集_IO缓冲区
) ≥ 读取的字节数量, 读取的字节数量,
取数组成员数 (集_IO缓冲区
))

计次循环首 (局_数量, 局_计次
)
加入成员 (局_IO, 集_IO缓冲区
[局_计次
])
计次循环尾 ()
计次循环首 (局_数量, 局_计次
)
删除成员 (集_IO缓冲区, 1, 1
)
计次循环尾 ()退出许可区 (集_读写许可证)局_数量 =
取数组成员数 (局_IO
)
计次循环首 (局_数量, 局_计次
)
局_数据 = 局_数据 +
选择 (局_数据 =
“”,
“”,
选择 (附加分隔符号 = 真,
“ ”,
“”)) +
选择 (局_IO
[局_计次
] < 16,
“0”,
“”) +
选择 (局_IO
[局_计次
] = 0,
“0”,
进制_十到十六 (局_IO
[局_计次
]))
计次循环尾 ()返回 (到大写 (局_数据
))
[/hide]