硬汉嵌入式论坛

 找回密码
 立即注册
查看: 3368|回复: 7
收起左侧

[Lua] H7-TOOL的LUA界面刷新API简易使用说明(2020-12-15)

[复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106685
QQ
发表于 2020-12-15 09:21:05 | 显示全部楼层 |阅读模式
1、当前注册的LCD界面刷新API有
lua_register(g_Lua, "RGB565", lua_RGB565);
lua_register(g_Lua, "lcd_refresh", lua_LcdRefresh);
lua_register(g_Lua, "lcd_clr", lua_LcdClr);
lua_register(g_Lua, "lcd_disp_str", lua_DispStr);  
lua_register(g_Lua, "lcd_fill_rect", lua_FillRect);  
lua_register(g_Lua, "lcd_draw_rect", lua_DrawRect);  
lua_register(g_Lua, "lcd_draw_circle", lua_DrawCircle);  
lua_register(g_Lua, "lcd_draw_line", lua_DrawLine);  
lua_register(g_Lua, "lcd_draw_points", lua_DrawPoints);  
lua_register(g_Lua, "lcd_disp_label", lua_DrawLabel);   

置红的是供大家调用的。
(1) RGB565(255,255,255)   将RGB888颜色转换为RGB565
(2) lcd_refresh()                刷新界面
(3) lcd_clr(color)                清屏,参数是RG565颜色格式
(4) lcd_disp_str(x, y, str, fontsize, front_color, back_color, width, align)   --显示字符串        
         fontsize = 12表示12点阵,16表示16点阵,24表示24点阵,32表示32点阵
(5)lcd_fill_rect(x, y, h, w, color)     --填充矩形窗口
(6) lcd_draw_rect(x, y, h, w, color) --绘制矩形窗口
(7) lcd_draw_circle(x, y, r, color)   --绘制圆圈
(8) lcd_draw_line(x1, y1, x2, y2, color) --绘制直线
(9) lcd_draw_points(xArray, yArray, size, color)   --绘制点
(10) lcd_disp_label(x, y, h, w, color, str, fontzize, front_color, back_color) --绘制标签

2、H7-TOOL实现LUA小程序PC联调和更新LUA小程序操作说明
http://www.armbbs.cn/forum.php?mod=viewthread&tid=96932

3、使用注意事项
(1)测试的时候,将TOOL运行在静态的界面,没有内容刷新的,防止原APP程序定时更新影响了LUA界面API的执行。
(2)如果大家的LUA小程序里面有delayms或者死循环之类的操作,下次更新LUA,需要长按TOOL的C键退出当前LUA的执行,因为LUA是阻塞式的执行方式。

4、使用举例:
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();

显示效果:
QQ截图20201215111231.png

填写到这里,点击执行即可:
6.png












回复

使用道具 举报

19

主题

129

回帖

186

积分

初级会员

积分
186
QQ
发表于 2020-12-15 09:44:19 | 显示全部楼层
LUA可以显示中文吗
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106685
QQ
 楼主| 发表于 2020-12-15 09:59:08 | 显示全部楼层

当然可以啊,我还在更新这个帖子,一会看效果即可
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106685
QQ
 楼主| 发表于 2020-12-15 11:13:33 | 显示全部楼层
更新完毕
回复

使用道具 举报

19

主题

129

回帖

186

积分

初级会员

积分
186
QQ
发表于 2020-12-15 11:45:15 | 显示全部楼层
eric2013 发表于 2020-12-15 09:59
当然可以啊,我还在更新这个帖子,一会看效果即可

不知道为什么加了中文会报语法或者执行错误
回复

使用道具 举报

19

主题

129

回帖

186

积分

初级会员

积分
186
QQ
发表于 2020-12-15 12:47:14 | 显示全部楼层
发现忘记设置编码了,windows下的文本是utf8的,还有个问题,lua类型数值貌似只区分一个TNUMBER,怎么判断是个浮点还是整数什么的
回复

使用道具 举报

747

主题

1049

回帖

3295

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3295
发表于 2020-12-15 20:34:40 | 显示全部楼层
lovelessing... 发表于 2020-12-15 12:47
发现忘记设置编码了,windows下的文本是utf8的,还有个问题,lua类型数值貌似只区分一个TNUMBER,怎么判断 ...

lua所有的数都是双精度浮点型。整数也当浮点数处理。你可以忘掉浮点和整数的区别了,也不用管是8位,16位,还是32位整数.

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106685
QQ
 楼主| 发表于 2020-12-18 10:03:16 | 显示全部楼层
新版修正了一个lcd_draw_line的bug。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-4-29 17:18 , Processed in 0.289258 second(s), 36 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表