szkei 发表于 2020-8-9 23:46

ESK32-360测评】+LCD测试

本帖最后由 szkei 于 2020-8-10 00:44 编辑

<p><strong>一,LCD函数使用查找。</strong></p>

<p>打开测评项目中的HT32F1xxxx_Programmer_Guide_v004_2103.chm帮助文件,在索引档中输入关键字&ldquo;ebi_lcd.h&rdquo;,弹出ebi_lcd.h的宏定义及方法。方法一共列出有21只。见下图所示。</p>

<p></p>

<p>&nbsp;</p>

<p><strong>二,测试函数选择。</strong></p>

<p>本次测试用到的函数为:</p>

<p>&nbsp;&nbsp; &nbsp; 1,void&nbsp; LCD_Init (void); //LCD初始<br />
&nbsp;&nbsp;&nbsp;&nbsp; 2,void&nbsp; LCD_Config (void);//LCD配置<br />
&nbsp;&nbsp; &nbsp; 3,void&nbsp; LCD_DisplayOff (void) ;//显示关</p>

<p>&nbsp;&nbsp;&nbsp;&nbsp; 4,void&nbsp; LCD_DisplayOn (void);//显示开</p>

<p>&nbsp;&nbsp;&nbsp;&nbsp; 5,void&nbsp; LCD_BackColorSet (u16 Color) ;//line的背景颜色设置<br />
&nbsp;&nbsp; &nbsp; 6,void&nbsp; LCD_TextColorSet (u16 Color) ;//字体颜色设置<br />
&nbsp;&nbsp;&nbsp; 7,void&nbsp; LCD_StringLineDisplay (u32 Line_Num, char *Sptr) ;//line0的显示内容<br />
&nbsp;&nbsp;&nbsp; 8,void&nbsp; LCD_CircleDraw (u32 X_Location, u32 Y_Location, u32 Radius) ; //画半径参数的圆<br />
&nbsp;&nbsp;&nbsp; 9,void&nbsp; LCD_LineDraw (u32 X_Location, u32 Y_Location, u32 Length, u32 Direction) ;//画线</p>

<p>&nbsp;&nbsp; 10,void&nbsp; LCD_PicDraw (u8 X_Location, u16 Y_Location, u8 Height, u16 Width, uc8 *Pptr) ;//显示图片<br />
&nbsp;&nbsp;&nbsp; 11, void&nbsp; LCD_RectDraw (u32 X_Location, u32 Y_Location, u32 Height, u32 Width) //画方框</p>

<p><strong>三,代码实现。</strong></p>

<p>1,main.c的内容如下:</p>

<pre>
<code>#include "ht32.h"
#include "ht32_board.h"
#include "ht32_board_config.h"
#include "picture.h"


u16 charx = 'x';
u16 x = 200,y =0,z=0;

void SYS_LCD_Init(void);
void LCD_Function(void);
void Delay(u32 ms);


int main(void){
   SYS_LCD_Init();       
       while(1){
               
       }       
       
}

void SYS_LCD_Init(void){
       LCD_Init();//LCD初始
       LCD_Config(); //LCD配置
       LCD_DisplayOff(); //显示关

       
       LCD_BackColorSet(Blue); //line的背景颜色设置
       LCD_TextColorSet(Yellow); //字体颜色设置
       
       LCD_StringLineDisplay(Line0," EEWorld and HOLTEK "); //line0的显示内容
       
       LCD_TextColorSet(Blue); //字体颜色设置
       LCD_CircleDraw(80,55,50); //画半径参数的圆
       
       LCD_TextColorSet(Black);
       LCD_CircleDraw(80,160,50);
       
       LCD_TextColorSet(Red);
       LCD_CircleDraw(80,265,50);
       
       LCD_TextColorSet(Yellow);
       LCD_CircleDraw(130,105,50);
       
       LCD_TextColorSet(Green);
       LCD_CircleDraw(130,210,50);
       
       LCD_LineDraw(130,30,120,1); //画垂直线

       LCD_PicDraw(185,120,48,100,HT32_Table); //显示图片
       LCD_RectDraw(182,115,55,110); //画方框
       LCD_DisplayOn(); //显示开
       
}

void Delay(u32 ms){
       do{
               __NOP();
       }while(ms--);
}
</code></pre>

<p>2,显示效果说明。</p>

<p>&nbsp;&nbsp;&nbsp; a,第一行显示背景为蓝色,字体为黄色,内容为&quot; EEWorld and HOLTEK &quot;。</p>

<p>&nbsp;&nbsp;&nbsp; b,中间位置显示奥运五色环。</p>

<p>&nbsp;&nbsp;&nbsp; c,中间及底部在屏的前端显示一条竖线。</p>

<p>&nbsp;&nbsp; d,在底部显示一个绿色的方框,并且方框内嵌一张图片。</p>

<p>3,编译下载后,图片效果如下:</p>

<p></p>

<p>4,从图片上看到整个屏的底色为黑色,根本看不到完整的奥运五色环。</p>

<p>5,经查找发现到LCD_Config ()函数内有个专用清除屏的背景颜色函数LCD_Clear(Black),默认为黑色。将参数改为&ldquo;White&rdquo;后,重新编译下载后,图片显示出来效果如下:</p>

<p></p>

<p>6,图片显示正常,在此已运用以上11个函数完整地显示出想要的效果。</p>

<p>7,关于屏幕的显示方向可以在文件&ldquo;lcd.h&rdquo;的#define LCD_DIRECTION&nbsp;&nbsp; (x)中设置,x为0-3。具体内容见截图,这次使用的方向为默认方向。所以x=0。</p>

<p></p>

<p>&nbsp;</p>

<p><strong>四,测评项目代码。</strong></p>

<p>项目代码</p>

<p>&nbsp;</p>
页: [1]
查看完整版本: ESK32-360测评】+LCD测试