H7-TOOL的LUA小程序教程第3期:使用LUA控制H7-TOOL的LCD简易界面设计
LUA脚本的好处是用户可以根据自己注册的一批API(当前TOOL已经提供了几百个函数供大家使用),实现各种小程序,不再限制Flash里面已经下载的程序,就跟手机安装APP差不多,所以在H7-TOOL里面被广泛使用,支持在线调试运行,支持离线运行。
TOOL的LUA教程争取做到大家可以无痛调用各种功能函数,不需要学习成本。
Lua GUI API 函数列表
【函数】RGB565(r, g, b) --将RGB888颜色转换为RGB565
-- bg = RGB565(0xFF, 0, 0) --红色
-- lcd_clr(RGB565(0xFF, 0xFF, 0xFF)) --清屏,白色
【函数】lcd_refresh() --刷新界面
【函数】lcd_clr(color) --清屏,color是RG565颜色格式
1、lcd_clr(RGB565(0xFF, 0xFF, 0xFF))
2、lcd_clr(0x1234)
【函数】lcd_disp_str(x, y, str, fontsize, front_color, back_color, width, align)
-- 显示字符串
-- x, y :显示坐标, 像素单位, 0-239
-- str :字符串, 支持GBK编码中文
-- fontsize :字体大小. 12=12点阵,16=16点阵,24=24点阵,32表示32点阵
-- front_color :字体颜色, 可以用 RGB(0,0,0)
-- back_color :背景颜色
-- width :宽度
-- align :对齐. 0=左对齐, 1=居中, 2=右对齐
【函数】lcd_fill_rect(x, y, h, w, color)
-- 填充矩形窗口
-- x, y :矩形左上角, 像素单位, 0-239
-- h, w :矩形高度和宽度, 像素单位, 1-240
-- color :填充颜色
【函数】lcd_draw_rect(x, y, h, w, color)
-- 绘制矩形边框
-- x, y :矩形左上角坐标, 像素单位, 0-239
-- h, w :矩形高度和宽度, 像素单位, 1-240
-- color :边框颜色
【函数】lcd_draw_circle(x, y, r, color)
-- 绘制圆圈
-- x, y :圆心坐标, 像素单位, 0-239
-- r :圆半径, 像素单位
-- color :边框颜色
【函数】lcd_draw_line(x1, y1, x2, y2, color)
-- 绘制直线
-- x1, y1 :第1个点坐标, 像素单位, 0-239
-- x2, y2 :第2个点坐标, 像素单位, 0-239
-- color :直线颜色
【函数】lcd_disp_label(x, y, h, w, color, str, fontzize, front_color, back_color)
--绘制标签(左右上下居中)
-- x, y :矩形左上角, 像素单位, 0-239
-- h, w :矩形高度和宽度, 像素单位, 1-240
-- color :填充颜色
-- str :字符串
-- fontzize :字体大小 12 16 24 32
-- front_color :字体颜色
-- back_color :字体背景颜色
使用注意事项
(1)测试的时候,将TOOL运行在静态的界面,没有内容刷新的,防止原APP程序定时更新影响了LUA界面API的执行。
(2)如果大家的LUA小程序里面有delayms或者死循环之类的操作,下次更新LUA,需要长按TOOL的C键退出当前LUA的执行,因为LUA是阻塞式的执行方式。
使用举例
local bg beep() bg = RGB565(0,0,0xFF) lcd_clr(bg) lcd_disp_str(0, 0, "安富莱电子Aa", 12, 0xFFFF, bg, 240, 1) lcd_disp_str(0, 15, "安富莱电子Aa", 16, 0xFFFF, bg, 240, 1) lcd_disp_str(0, 35, "安富莱电子Aa", 24, 0xFFFF, bg, 240, 1) lcd_fill_rect(10, 70, 100, 100, 0xF000) lcd_draw_circle(180, 120, 50, 0xF000) lcd_refresh();
显示效果:
颜色值选取
为了方便选取颜色值,大家可以在这里选择:
相关文章
- 二连杆机械臂阻抗控制模拟(一)
- css - 控制页面文字不能被选中
- 依赖倒置、控制反转和依赖注入辨析
- 倍福TwinCAT(贝福Beckhoff)应用教程13.3 TwinCAT控制松下伺服 NC配合完整上位
- 倍福TwinCAT(贝福Beckhoff)应用教程12.2 TwinCAT控制松下伺服 NC初步
- 倍福TwinCAT(贝福Beckhoff)应用教程12.1 TwinCAT控制松下伺服 连接和试运行
- IAM:亚马逊访问权限控制
- bash 教程-5 shell 流程控制 条件判断 重定向 read [MD]
- 【STM32F429的DSP教程】第18章 DSP控制函数-更好用的SIN,COS计算
- 【STM32H7教程】第43章 STM32H7的DMA应用之双缓冲控制任意IO和脉冲数控制
- 【STM32H7教程】第41章 STM32H7的BDMA应用之控制任意IO做PWM和脉冲数控制
- SAP Spartacus b2b table,通过listService的table type字段来控制要加载的数据类型
- Atitit.软件控件and仪表盘(23)--多媒体子系统--视频输出切换控制cvbs av s-video Ypbpr pal ntsc
- x264源码分析与应用示例(二)——码率控制
- c++中double类型控制小数位数
- js控制网页窗口一打开就自动全屏
- Swift编程语言学习4.3—— 控制语句
- Linux下CMake简明教程(九) 添加控制选项
- RFSoC应用笔记 - RF数据转换器 -14- RFSoC自动增益控制与NCO跳频功能
- x64dbg 自动化控制插件
- 控制安卓手机物理返回键
- Matplotlib进阶:利用rcParams控制图形属性
- Linux下CMake简明教程(九) 添加控制选项