威綸通觸控螢幕的自由口通訊

2021-08-31 01:31:39 字數 1428 閱讀 7602

一、選擇自由口通訊協議並設定相關引數

二、選擇工具下的巨集指令

傳送:macro_command main()

char bycommand[3] =

bool hmi_w

outport(bycommand[0], "free protocol", 3)//  send 32 bytes

setbiton(0x00, hmi_w, 0)

setdata(hmi_w, "local hmi", lb, 100, 1)

async_trig_macro(1)      //呼叫代號為1的巨集,即:接收巨集

end macro_command

接收:macro_command main()

short wresponse[5],temp[3], receive_len

float t

char k[6]

inport(wresponse[0], "free protocol", 5, receive_len)//  read 5 words

if receive_len >= 5  then

//swapb(wresponse[1], temp[1])

//swapb(wresponse[2], temp[2])

lobyte(wresponse[1], k[0])

hibyte(wresponse[1], k[1])

lobyte(wresponse[2], k[3])

hibyte(wresponse[2], k[4])

lobyte(wresponse[3], k[5])

k[2] = '.'

ascii2float(k[0], t, 6)

end if

setdata(t, "local hmi", lw, 100, 1)

async_trig_macro(0)

end macro_command

三、總結:

由於hmi接收到的資料高低字倒置,從而需要首先對高低位元組進行處理。起初使用swapb指令將採集到的資料轉存至temp[9]陣列中,然後再提取temp[9]中的資料,但是此方法產生的計算量較多,從而採取現在的方式進行處理。

同時還有另外乙個問題,最初使用的是將陣列中用到的資料首先通過asii2dec指令轉換成dec資料,然後再除以1000轉換為浮點數,最終通過setdata指令傳送至hmi內部暫存器,但是在hmi顯示中資料非正常。後來在陣列中增加小數點』.』字元,直接通過asii2float指令轉換為浮點數,然後轉存至hmi內部暫存器中,最終得以解決。

四、巨集指令表

觸控螢幕的使用

觸控螢幕的分類 觸控螢幕作為一種輸入裝置,是目前最簡單 方便的一種人機互動方式,具有堅固耐用 反應速度快 節省空間 易於交流等許多優點。從技術原理來區別觸控螢幕,可分為5類 1.電阻式觸控螢幕 2.電容式觸控螢幕 3.紅外線技術觸控螢幕 4.表面聲波技術觸控螢幕 5.向量壓力感測技術觸控螢幕 電阻屏...

程式觸控螢幕解決QT程式觸控螢幕不可用的問題

上班之餘抽點時間出來寫寫博文,希望對新接觸的朋友有幫助。今天在這裡和大家一起學習一下程式觸控螢幕 開發版自帶qt程式,開機可以表現介面,並且觸控螢幕可用。但是我自己編譯好的程式放到開發板中,可以準確執行,觸控螢幕卻不可用。在網上查了好些資料,對於我這個初學者很難入手,因為說明的操作過程不完整不清楚如...

觸控螢幕壞了有哪些現象 觸控螢幕常見的故障及解決方法

故障總結 1.上電無反應 主機板逆變器部分損壞 2.上電燒保險 逆變器燒壞 三極體d667擊穿 3.上電藍屏,通電十分鐘後螢幕變為藍屏 主機板cpu壞 主機板lcd負壓太低,lcd負壓為0,主機板故障 5.螢幕偏黑 對比度問題 6.通訊時有時無 通訊電纜接觸不良造成通訊不良 7.觸控失靈,有時白屏 ...