2本文將介紹Usart HMI常用指令
1 page指令 用于頁面切換,使用格式 :
page obj
obj指頁面名稱或id,
示例:
有下面兩個頁面, 要從page0 切換到main

代碼如下:
page 1 //type 2
page main //type 1
2 ref 重繪控制元件指令(或者重繪控制元件)
使用格式: ref obj obj指控制元件名稱或id,
示例:
重繪下圖t0

ref t0 //type 1
ref 1 // type 2
3 click 激活控制元件按下/彈起事件指令, 使用格式:
click obj event
obj指控制元件名稱或id,event指按下或彈起事件,0代表彈起事件,1代表按下事件,示例:激活下圖b0的按下事件

click b0 1 //type 1
click 8 1 //type 2, 8 is b0's id
4 get 帶格式獲取變數/常量值指令 向串口發送變數/常量值
使用格式:get attr
attr指變數/常量值,
示例:向串口發送下面控制元件t0的值


在發送資料時前面加了起始符(字符加0x70,整數加0x71),整數發送是一次發送4個位元組,不足4個位元組,高位用0x00補齊,低位在前, 后面加了結束符0xFF 0xFF 0xFF
5 prints 向串口發送變數/常量值指令 與get指令類似,但發送資料時,沒有加起始符與結束符,
使用格式: prints attr,length
length指發送長度,0代表發送完attr的所有資料,
示例:

6 printh 向串口字符16位值指令 使用格式:
printh hex
示例:

7 vis 隱藏/顯示控制元件指令 使用格式:
vis obj,state
obj指控制元件名稱或id,如果obj用255代替則表示頁面上的所有控制元件,state可以為0或1,0為隱藏,1為顯示,示例:下圖是main頁面,上面有多個控制元件,t2控制元件的文本為時鐘設定
隱
進入除錯模式下藏在指令/顯示控制元件 vi7.vis 隱藏/顯示控制元件s 隱藏/顯示控制元件vis 隱藏/顯示控制元件
進入除錯模式,在指令輸入區輸入page main回車,即切換到main頁面,

在指令輸入區輸入vis t2,0 回車, 結果如下:

t2控制元件被隱藏了,再在指令輸入區輸入vis t2,1 回車, 結果如下:

t2控制元件顯示出來了,
8 tsw 控制元件觸摸使能指令 使用格式:
tsw obj,state
obj是指控制元件名稱或id,如果obj用255代替則表示頁面上的所有控制元件,state可以為0或1. 1是觸摸使能,即觸摸功能有效,0是觸摸功能失效, 示例:下面是page0頁面,上面有多個按鈕,

進入除錯模式,如下:

用滑鼠左鍵點擊“0”按鈕,結果如下:

在指令輸入區輸入 tsw b0,0 回車,再用滑鼠左鍵點擊“0”按鈕,結果如下:

按鈕沒有反應,也就是說按鈕失效了,再在指令輸入區輸入 tsw b0,1 回車,再用滑鼠左鍵點擊“0”按鈕,結果如下:

按鈕又有效了,
9 randset 亂數范圍設定指令 使用格式:
randset minval,maxval
minval:最小值
maxval:最大值
示例:

讀取rand兩次得到的結果分別為0x49,0x53,都在10~100以內,
10 add 往曲線/波形控制元件添加資料指令 使用格式:
add objid,ch,val
objid:曲線控制元件ID序號(此處必須是ID號,不支持使用控制元件名稱,id號取值范圍0~3,也就是說一個控制元件最多可以顯示4條曲線),
ch:曲線控制元件通道號val:資料 (最大255,最小0),
示例:
add 13,0,30
add 13,1,35
11 cle 清除曲線/波形控制元件控制元件中的資料指令 使用格式:
cle objid,ch
objid:曲線控制元件ID序號(此處必須是ID號,不支持使用控制元件名稱)
ch:曲線控制元件通道號(255表示所有通道)
示例:
cle 13,0
12 addt 曲線/波形控制元件資料透傳指令 使用格式:
addt objid,ch,qyt
objid: 曲線控制元件ID序號(此處必須是ID號,不支持使用控制元件名稱)
ch:曲線控制元件中的通道號
qyt:本次透傳資料的點數量
示例:
addt 13,0,100 (ID為13的曲線控制元件進入資料透傳模式,透傳點數為100點)
13 sendme 發送當前頁面ID號到串口指令 使用格式:
sendme //此指令不需要引數
14 covx 變數型別轉換指令 使用格式:
covx att1,att2,lenth,format
att1:源變數
att2:目標變數
lenth:字串的長度(0為自動長度,非0為固定長度)
format:申明數值型別(0-數字;1-貨幣;2-Hex)
示例:

結果為:0x03E8,轉換為十進制剛好為1000.
15 strlen 獲取字串變數字符長度指令,使用格式:
strlen att0,att1
att0:需要測驗的字串變數
att1:把測驗結果賦值給此變數
示例:
strlen t0.txt,n0.val //把字串變數t0.txt的實際字符長度賦值給n0.val
16 btlen 獲取字串變數位元組長度指令 注意與strlen的區別,strlen是獲取字符數,btlen是獲取位元組數,如果是單位元組字串結果是一致的,雙位元組字串差異就大了,使用格式:
btlen att0,att1
att0:需要測驗的字串變數
att1:把測驗結果賦值給此變數
示例:
btlen t0.txt,n0.val //把字串變數t0.txt的實際位元組長度賦值給n0.val
17.substr 字串截取指令 使用格式:
substr att0,att1,star,lenth
att0:源變數(必須是字串變數)
att1:目標變數(必須是字串變數)
star:在源變數中的字符起始位置lenth:截取字串長度 示例:
substr t0.txt,t1.txt,0,2 //從t0.txt中的0位置開始截取2個字符賦值給t1.txt
18 spstr 字串分割指令 使用格式:
spstr src,dec,key,index
src:源變數(必須是字串變數)
dec:目標變數(必須是字串變數)
key:分隔符字串(必須是字串變數)
index:取第幾份(在src字串中用key字串做分割后,取第index份字符內容賦值給dec變數)
示例:data0.txt的d字符內容為:aaaa^bbbb^cccc^dddd
執行命令:spstr data0.txt,t0.txt,"^",2
運行結果:t0.txt內容為:cccc
19 ref_stop 暫停螢屏重繪指令 使用格式:
ref_stop //此指令不需要引數
20 com_stop 暫停串口指令執行指令 使用格式:
com_stop //此指令不需要引數
22 com_star 恢復串口指令執行指令 使用格式:
com_star //此指令不需要引數
23 wepo寫入一個變數到用戶存盤區(EEPROM)指令 這個需要屏硬體支持才能使用,使用格式:
wepo att,add
att:變數/常量
add: 用戶存盤區位置(從0開始)
示例1:
wepo t0.txt,10 //將t0.txt的內容寫入用戶存盤區的第10位置,在儲存區中的占用空間為t0.txt的最大設定值+1,即t0的txt-maxl屬性表示的大小+1
示例2:
wepo “abcd”,10 //將字串“abcd”寫入用戶存盤區的第10位置,在儲存區中占用大小為5位元組
示例3:
wepo 125,10 //將數值125寫入用戶存盤區的第10位置, 在儲存區中占用大小為4位元組
24.repo 從用戶存盤區(EEPRO)讀資料到一個變數指令 這個需要屏硬體支持才能使用,使用格式:
repo att,add
att:目標變數
add: 用戶存盤區位置(從0開始)
示例1:
repo t0.txt,10 //從用戶存盤區的10位置讀資料到t0.txt變數中,在儲存區中的讀取資料量為t0.txt的最大設定值+1,即t0的txt-maxl屬性表示的大小+1
示例2.
repo n0.val,10 //從用戶存盤區的10位置讀資料到n0.val,在存盤區中的讀取資料量為4位元組
25 wept 透傳資料寫入用戶存盤區(EEPROM)指令 這個需要屏硬體支持才能使用,使用格式:
wept add,lenth
add: 用戶存盤區地址(從0開始)
lenth:透傳長度
示例:wept 10,30 //透傳30個位元組的資料存到EEPROM的10位置,占用空間為10-39
26 rept 從用戶存盤區讀取資料并透傳發送到串口指令 這個需要屏硬體支持才能使用,使用格式:
rept add,lenth
add: 用戶存盤區位置(從0開始)
lenth:讀取并透傳發送的長度
示例:
rept 10,30 //從用戶存盤區的10位置讀取30個位元組并透傳發送到串口
27 cls 清屏指令 使用格式:
cls color
color是十進制顏色值或顏色代號
示例1:
cls 1024 //用十進制1024的顏色值刷屏
示例2:
cls RED //用代號為RED的顏色(RED代表紅色)刷屏
28 pic 刷圖指令 使用格式:
pic x,y,picid
x:起始點x坐標;
y:起始點y坐標;
picid:圖片ID;
示例1:
pic 10,20,0 //在坐標(10,20)位置顯示資源檔案中圖片ID為0的圖片
示例2:
pic 40,50,1 //在坐標(40,50)位置顯示資源檔案中圖片ID為1的圖片
29 picq 切圖指令 使用格式:
picq x,y,w,h,pici
dx:螢屏起始點x坐標;
y:螢屏起始點y坐標;
w:區域寬度;
h:區域高度;
picid:圖片ID;
示例:
picq 20,50,30,20,0 //將圖片0起始坐標(0,0)寬度30高度20這個區域切到螢屏上顯示,螢屏上的顯示起始坐標為(20,50)
30 xpic 高級切圖指令 使用格式:
xpic x,y,w,h,x0,y0,picid
x:螢屏起始點x坐標;
y:螢屏起始點y坐標;
w:區域寬度 ;h:區域高度;
x0:圖片起始點x坐標;
y0:圖片起始點y坐標;
picid:圖片ID;
示例:
xpic 20,50,30,20,40,15,0 //將圖片0起始坐標(40,15)寬度30高度20這個區域切到螢屏上顯示,螢屏上的顯示起始坐標為(20,50)
31 xstr 寫字指令 使用格式:
xstr x,y,w,h,fontid,pointcolor,backcolor,xcenter,ycenter,sta,string
x:起始點坐標x;
y:起始點坐標y;
w:區域寬度;
h:區域高度;
fontid:字庫ID;
pointcolor:字體顏色;
backcolor:背景色(sta設定為切圖或圖片時,backcolor表示圖片ID);
xcenter:水平對齊方式(0為左對齊,1為居中,2為右對齊);
ycenter: 垂直對齊方式(0為上對齊,1為居中,2為下對齊);
sta:背景填充方式(0為切圖,1為單色,2為圖片,3為無背景,sta設定為切圖或圖片時,backcolor表示圖片ID)
string:字符內容;
示例:
xstr 0,0,100,30,1,RED,BLACK,1,1,1,”中國” //使用字庫1在起始坐標(0,0),寬度100,高度30這個區域寫出”中國”,字體色為RED,背景色為BLACK(如果不想寫背景色(即無背景)可以設定sta引數為3),水平對齊方式為居中,垂直對齊方式也為居中,
32 fill 區域填充指令 使用格式:
fill x,y,w,h,color
x:起始點坐標x ;
y:起始點坐標y;
w:區域寬度;
h:區域高度;
color:填充顏色;
示例:
fill 0,0,100,30,RED //在起始坐標(0,0)寬度100,高度30這個區域填充RED顏色
33 line 畫線指令 使用格式:
line x,y,x2,y2,color
x:起始點坐標x;
y:起始點坐標y;
x2:結束點坐標x ;
y2:結束點坐標y;
color:畫線顏色;
示例:
line 0,0,100,100,RED //在坐標(0,0)和坐標(100,100)之間畫出一條RED顏色的線
34 draw 畫矩形指令 畫出的矩形無填充, 使用格式:
draw x,y,x2,y2,color
x:起始點坐標x ;
y:起始點坐標y;
x2:結束點坐標x ;
y2:結束點坐標y;
color:畫線顏色;
示例:
draw 0,0,100,100,RED //畫一個矩形,左上角為(0,0),右下角為(100,100), 顏色為RED
35 cir 畫空心圓指令 使用格式:
cir x,y,r,color
x:圓心坐標x
y:圓心坐標y
r:半徑
color:畫線顏色;
示例:
cir 100,100,30,RED //以坐標(100,100)為圓心畫一個半徑為30的空心圓,顏色為RED
36 cirs 畫實心圓指令 使用格式:
cirs x,y,r,color
x:圓心坐標x
y:圓心坐標y
r:半徑
color:填充顏色;
示例:
cirs 100,100,30,RED //以坐標(100,100)為圓心畫一個半徑為30的實心圓,填充顏色為RED
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/401516.html
標籤:其他
