本帖最后由 jinglixixi 于 2020-7-31 10:05 編輯
1. 顯示功能的初步擴展 在ESK32-360開發(fā)板上,配置了TFT顯示屏,通過它可以顯示字符、圖形及圖片等。 該顯示屏的接口電路如圖1所示,它是由CN3連接器來與開發(fā)板連接的,所占用的引腳如圖2所示。
1.jpg (43.28 KB, 下載次數: 70)
下載附件
2020-7-31 10:01 上傳
圖1 顯示屏接口電路
2.jpg (63.36 KB, 下載次數: 61)
下載附件
2020-7-31 10:01 上傳
圖2 顯示屏引腳占用
在軟件方面,例程也提供了相對完整的顯示函數,但也有一些功能尚需增添和補充。 首先我們來看一下其提供顯示函數,他們有: void LCD_Init(void); // 初始化函數 void LCD_Config(void); // 引腳配置函數 void LCD_Clear(u16 Color); // 以色彩清除屏幕函數 void LCD_BackColorSet(u16 Color); // 設置背景色 void LCD_TextColorSet(u16 Color); // 設置前景色 void LCD_CharDisplay(u32 Line_Num, u32 Column,u32 Ascii); // 字符顯示函數 void LCD_StringLineDisplay(u32 Line_Num,char *Sptr); // 字符串顯示函數 void LCD_PicDraw(u8 X_Location, u16Y_Location, u8 Height, u16 Width, uc8 *Pptr); // 圖片顯示函數 void LCD_LineDraw(u32 X_Location, u32Y_Location, u32 Length, u32 Direction); // 直線繪制函數 void LCD_CircleDraw(u32 X_Location, u32Y_Location, u32 Radius); //圓繪制函數 void LCD_RectDraw(u32 X_Location, u32Y_Location, u32 Height, u32 Width); // 矩形繪制函數
那我們還需要補充哪些顯示函數呢 ? 1)數值顯示函數,在進行數據顯示時要單純靠調用字符顯示函數來實現是非常不便的; 2)畫點函數,它是其它圖形繪制函數的基礎; 3)畫線函數,雖說例程中提供了畫線函數,但它是解決簡單的水平線或垂直線的,無法用其來繪制波形曲線; 4)區(qū)域填充函數,以解決窗口內波形曲線的擦除; 5)漢字顯示函數,在配置相應中文字庫的條件下,實現專用漢字的顯示。
通過對例程的學習和分析,所增添的數值顯示函數為: - uint32_t LCD_Pow(char m,char n)
- {
- uint32_t result=1;
- while(n--)result*=m;
- return result;
- }
- void LCD_ShowNum(u16 x,u16 y,u32 num,u8 len)
- {
- u8 t,temp;
- u8 enshow=0;
- for(t=0;t<len;t++)
- {
- temp=(num/LCD_Pow(10,len-t-1))%10;
- if(enshow==0&&t<(len-1))
- {
- if(temp==0)
- {
- LCD_CharDisplay(x, y+14*t, ' ');
- continue;
- }else enshow=1;
-
- }
- LCD_CharDisplay(x, y+14*t, temp+'0'); //LCD_CharDisplay(x+16*t, y, temp+'0');
- }
- }
復制代碼
在運行如下的主程序后,可得到圖3所示的效果。- int main(void)
- {
- LCD_Init();
- LCD_Config();
- LCD_Clear(0x2c5c);
- LCD_BackColorSet(0x2c5c);
- LCD_TextColorSet(Yellow);
- LCD_StringLineDisplay(Line3, " Holtek ");
- LCD_StringLineDisplay(Line4, " HT32 Series ");
- LCD_StringLineDisplay(Line5, " LCD Example ");
-
- LCD_ShowNum(Line7,100,1234567890,10);
- while (1);
- }
復制代碼
3.jpg (27.85 KB, 下載次數: 64)
下載附件
2020-7-31 10:04 上傳
圖3 數值顯示
這樣在遇到數值顯示的地方,就可以輕松地實現了。后面還會繼續(xù)補充和完善函數的添加,請繼續(xù)關注。
|