接下來(lái),我們就需要用串口助手來(lái)驗(yàn)證一下,我們新建的DGUS工程有沒(méi)有問(wèn)題了,首先,我們還是從最簡(jiǎn)單的入手吧,這里,最簡(jiǎn)單的自然莫過(guò)于“按鍵返回”控件了,那么我們嘗試下從Y0一直按到Y(jié)5,看下串口助手會(huì)返回什么:
我們先來(lái)分析一下第一幀數(shù)據(jù):5A A5 06 83 00 20 01 00 01,根據(jù)迪文DGUS指令說(shuō)明中提到的,我們可以清楚地知道,在這一幀數(shù)據(jù)中:
5A A5為數(shù)據(jù)幀的幀頭;06為數(shù)據(jù)長(zhǎng)度,即:從該為開(kāi)始后面數(shù)據(jù)的個(gè)數(shù);83為指令;00 20 為變量的地址;01 為從地址0x0020開(kāi)始,返回的數(shù)據(jù)個(gè)數(shù);00 01為變量的值
再回想上一講我們建工程時(shí)定義的“按鍵返回”觸控變量的地址以及鍵值,我們就很容易理解串口返回的這幾串?dāng)?shù)據(jù)意義了,也就是說(shuō),當(dāng)我們收到5A A5 06 83 00 20 01 00 01這串?dāng)?shù)據(jù)時(shí),我們就知道是Y0按下了;當(dāng)我們收到5A A5 06 83 00 20 01 00 02這串?dāng)?shù)據(jù)時(shí),就知道是Y1按下……依次,我們就能識(shí)別到某一時(shí)刻,觸摸屏上的那個(gè)按鍵被按下了。
接下來(lái),我們繼續(xù)來(lái)學(xué)習(xí)一下,如何往DGUS屏中的“數(shù)據(jù)變量顯示”控件中寫(xiě)數(shù)據(jù)。這個(gè)地方就需要用到了DGUS屏的82指令—寫(xiě)數(shù)據(jù)存儲(chǔ)區(qū)指令。我們直接看下《迪文DGUS指令說(shuō)明》中的介紹吧:
相信看到這里,大家應(yīng)該很明白了,比如,我要往地址為0x0010的“定時(shí)閃爍”數(shù)據(jù)變量顯示控件中寫(xiě)一個(gè)數(shù)字“1”,那么我們只需要給對(duì)觸摸屏發(fā)送指令:5A A5 05 82 00 10 00 01就可以了,同樣,我們打開(kāi)串口助手,將波特率什么的都設(shè)置好,然后再發(fā)送區(qū)輸入指令:5A A5 05 82 00 10 00 01,注意,這里發(fā)送的所有數(shù)據(jù)都是十六進(jìn)制數(shù)。
指令發(fā)送完成后,我們可以看下觸摸屏上地址為0x0010這個(gè)變量值是不是就真的會(huì)顯示為1呢?
納尼?說(shuō)的好“1”呢?怎么會(huì)變成65536?什么鬼?頓時(shí)心里一陣納悶有木有?納悶就對(duì)了,是不是大家都忘記了之前我們定義這個(gè)變量的數(shù)據(jù)類(lèi)型的時(shí)候選擇的是“無(wú)符號(hào)長(zhǎng)整數(shù)(4字節(jié))”了?那么就意味著,他在存儲(chǔ)區(qū)中實(shí)際上是占了兩個(gè)地址,即:0x0010和0x0011,不信的話,讀者可以自己嘗試一下,先往0x0010寫(xiě)個(gè)0,然后再往0x0011寫(xiě)個(gè)1,看下觸摸屏上是不是就會(huì)顯示1了呢?答案是肯定的!
-
單片機(jī)
+關(guān)注
關(guān)注
6023文章
44376瀏覽量
628385 -
DGUS屏
+關(guān)注
關(guān)注
0文章
10瀏覽量
3417
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論