usart hmi(串口屏)使用小總結

1.剛到手的X5系列的串口屏,下載程序後黑屏

   找了挺久的緣由,最後發現是其中一張圖片太大致使的黑屏。(圖片爲2M)spa

   解決方法:打開官方例程,生成.tft文件(在串口屏軟件生成:文件--輸出生產文件),生成的文件以下:code

                                                                           

  而後將生成的.tft文件 拷貝到SD卡中,給串口屏上電,利用SD卡將.tft文件下載到串口屏,下載完成後斷電,拔出SD卡,blog

  從新給串口屏上電,串口屏恢復正常。從新編輯串口屏工程,更換圖片,黑屏問題解決。圖片

注:串口屏工程裏的圖片不能太大,太大會致使黑屏。ci

 

2.單片機處理串口屏發送的數據

   注:串口屏發送數據時:低位在前,高位在後。class

 

3.串口屏的運算

   注:串口屏不支持運算優先級,運算是從左向右依次運算的,不支持()運算。變量

 

4.如何實現無觸摸操做時跳轉頁面

   使用定時器(定時時間:100ms):保存當前實時觸摸座標,每100ms判斷座標是否有變化(有變化表明有觸摸動做,無變化則無觸摸動做)。具體實現以下:軟件

注:tch0-tch3爲全局變量
//////////
//無觸摸操做
if(tch0!=x.val||tch1!=y.val)           //有操做
{
  TouchCnt.val=0
}else                                  //無操做
{
  TouchCnt.val=TouchCnt.val+1          //計數值累加
  //判斷是否達到30s
  if(TouchCnt.val>=300)
  {
    page A1                            //跳轉到主頁面
  }
}
//////////
//記錄座標
x.val=tch0
y.val=tch1
//////////

5.關於曲線/波形圖

   注:波形圖顯示最大值爲255,超過上限時:顯示在屏幕上的圖形會從0開始顯示硬件

 

6.關於時間的獲取

在定時器裏,用系統變量rct0-5獲取時間(帶RTC的硬件才支持),代碼以下:下載

hour.val=rtc3  //時賦值
minutes.val=rtc4  //分賦值

在串口屏上顯示的時間

 

7.關於小數的顯示

串口屏不支持浮點數,若是想實現小數顯示,就得用「文本「」控件來實現。

//n0爲:小數擴大10倍後的值
//取出整數部分和小數部分,而後在整數部分和小數部分加上小數點
//具體實現以下
//////////
integer.val=n0.val/10              //整數部分
covx integer.val,t5.txt,0,0
decimal.val=n0.val%10              //小數部分
covx decimal.val,va2.txt,0,0
t5.txt=t5.txt+"."+va2.txt          //顯示在屏幕上
//////////