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();
顯示效果:
顏色值選取
爲了方便選取顏色值,大家可以在這裏選擇: