智能模块加上LUA脚本即可轻松实现圆周率计算功能。LUA实现简单的运算,智能模块实现显示和触摸功能,从而达到环形滑动输入动态显示圆周率计算功能。下面是我用深圳拓普微公司的智能模块实现的圆周率计算功能。步骤如下:
第一步 建立工程
第二步 建立页面并导入背景图
第三步 关联页面与背景图
第四步 建立字符串元素和设置属性值
① 菜单工具栏点击字符串元素
② 在页面PG0000工作区拖出矩形区,创建字符串元素于页面中
③ 重复①-②建立字符串,共需建立三个字符串(r、d、C)
④ 设置三个字符串属性,三个字符串属性设置如下表所示:
ID |
0 |
1 |
2 |
图中标志 |
r |
d |
C |
透明 |
是 |
是 |
是 |
对齐方式 |
左对齐 |
左对齐 |
左对齐 |
小数位数 |
0 |
0 |
7 |
VP类型 |
VP_N32 |
VP_N32 |
VP_N32 |
地址 |
0x020000 |
0x020004 |
0x020008 |
数据类型 |
有符号整型 |
有符号整型 |
浮点型 |
第五步 建立环形调节元素和设置属性值
① 菜单工具栏点击环形调节元素
② 在页面PG0000工作区拖出矩形区,创建环形调节元素于页面中
③ 设置环形调节属性,属性设置如下表所示:
ID |
0 |
图中标志 |
马蹄形圆环 |
外环半径 |
173 |
内环半径 |
105 |
起始角度 |
227 |
扫描角度 |
266 |
VP类型 |
VP_N32 |
VP地址 |
0x020000 |
最小值 |
1 |
最大值 |
100 |
第六步 添加Lua文件
① 编写Lua脚本luamain.lua
② 右击工程资源栏的Lua
③ 点击添加文件luamain.lua
luamain.lua如下所示:
--主循环--
luamain = function (void)
--do nothing
end
--触摸回调函数--
tpkhook = function (page,id,state)
--debug--
--print("luaTPKhandleHook")
--print("page=",page,"id=",id,"state",state)
--check TP state--
if (state==1 or state ==2 or state == 3)then
--check Touch element--
if(id==0) then
local w
local h
local r
if(id==0)then
h = hmt.readvp32(0x20000)
end
w = 2*h
r = 2*3.1415926*h
hmt.writevp32(0x20000,h)
hmt.writevp32(0x20004,w)
hmt.writevp32(0x20008,r)
end
end
return 0
end
第七步 下载与编译
第八步上电显示
① 断开USB与模块连接
② 向模块提供12V电源
③ 上电显示
④ 触摸蹄形圆环,输入半径r,可自动计算直径d和周长C
备注:触摸蹄形圆环最左边时输入半径r=1
备注:触摸蹄形圆环中间部分时输入半径r=49
备注:触摸蹄形圆环最右边时输入半径r=100
完成