一个月准备蓝桥杯嵌入式——dey2LCD显示Hello world

今天移植一下考试时给的屏幕驱动,然后简单了解一下API函数。

不用cubemx配置,直接把写好的.c和.h文件移植一下就可以。

把两个.h和一个.c全部拿到我们的User文件夹里,然后keil添加一下,步骤如下。

aecf6a28786b41c5bb49ba6e48023b12.pngd6a4d80fdb7540799277cd936f77ef95.png

5f4e48a4bdeb48cfbb5b66f90a79842e.png

a001f09b818e422ea686601297e9f30b.png

添加后:

b73c2f6862944338a9bf94e30eb51bcf.png

记得#include,因为后边要用

#include "LCD.h"
#include "stdio.h"

然后打开src里的main.c文件,记事本打开,把关键内容copy一下够用就行。

9b1643bf010c4d7bbc08f681d770efaa.png


	LCD_Init();
	LCD_Clear(Blue);
	LCD_SetBackColor(Blue);
	LCD_SetTextColor(White);
	

	LCD_DrawLine(120,0,320,Horizontal);
	LCD_DrawLine(0,160,240,Vertical);
	HAL_Delay(1000);
	LCD_Clear(Blue);

	LCD_DrawRect(70,210,100,100);
	HAL_Delay(1000);
	LCD_Clear(Blue);

	LCD_DrawCircle(120,160,50);
	HAL_Delay(1000);

	LCD_Clear(Blue);
	LCD_DisplayStringLine(Line4 ,(unsigned char *)"    Hello,world.   ");
	HAL_Delay(1000);

	LCD_SetBackColor(White);
	LCD_DisplayStringLine(Line0,(unsigned char *)"                    ");	
	LCD_SetBackColor(Black);
	LCD_DisplayStringLine(Line1,(unsigned char *)"                    ");	
	LCD_SetBackColor(Grey);
	LCD_DisplayStringLine(Line2,(unsigned char *)"                    ");
	LCD_SetBackColor(Blue);
	LCD_DisplayStringLine(Line3,(unsigned char *)"                    ");
	LCD_SetBackColor(Blue2);
	LCD_DisplayStringLine(Line4,(unsigned char *)"                    ");
	LCD_SetBackColor(Red);						
	LCD_DisplayStringLine(Line5,(unsigned char *)"                    ");
	LCD_SetBackColor(Magenta);	
	LCD_DisplayStringLine(Line6,(unsigned char *)"                    ");
	LCD_SetBackColor(Green);	
	LCD_DisplayStringLine(Line7,(unsigned char *)"                    ");	
	LCD_SetBackColor(Cyan);	
	LCD_DisplayStringLine(Line8,(unsigned char *)"                    ");
	LCD_SetBackColor(Yellow);		
	LCD_DisplayStringLine(Line9,(unsigned char *)"                    ");	

以上就是常用的api函数,如果想仔细研究可以去LCD.h文件末尾了解全部LCD函数,如果评论区有人想要的话,出一期专门研究全部函数的文章。

直接点亮Hello world!

	char Line[30];
	uint i=180;
	sprintf(Line,"12345678901234567890");

    LCD_Init();

    LCD_Clear(Black);
	LCD_SetBackColor(Black);//设置背景色黑色
	LCD_SetTextColor(White);//设置显示白色

	sprintf(Line,"Hello world!");

	LCD_DisplayStringLine(Line0 ,(unsigned char *)Line);//第一行显示数组line内容

    

效果:

a9cf5115a7594f428fff6fbd95a13e12.png

显示一下李华身高,(可恶,李华脱了鞋子只有179.5cm),以及每行显示多少字符,你也该知道了。

	char Line[30];
	uint i=180;
	sprintf(Line,"12345678901234567890");

    LCD_Init();

    LCD_Clear(Black);
	LCD_SetBackColor(Black);//设置背景色黑色
	LCD_SetTextColor(White);//设置显示白色

	sprintf(Line,"Hello world!");

	LCD_DisplayStringLine(Line0 ,(unsigned char *)Line);//第一行显示数组line内容


    sprintf(Line,"Lihua height: %dcm",i);
	LCD_DisplayStringLine(Line1 ,(unsigned char *)Line);
	
	sprintf(Line,"12345678901234567890");
	LCD_DisplayStringLine(Line2 ,(unsigned char *)Line);

11a1461057b34a4ea85cdee2b291e3eb.png

今天的教程其实在这里就差不多了,但是既然是彩屏,我简单试一下能不能用现有的函数玩点花活。之前有段时间喜欢李宗盛的《山丘》,最近更喜欢《我终于失去了你》,或者《爱如潮水》,感觉我的审美跟年龄好不符,像个40岁的老头。

e54f855319904871b2b118a9dce047c3.png

    char Line[30];
	uint i=180;
	sprintf(Line,"12345678901234567890");

    LCD_Init();


    LCD_Clear(Black);
	
	LCD_SetBackColor(Black);
	LCD_SetTextColor(White);
	sprintf(Line,"        Hill        ");
	LCD_DisplayStringLine(Line0 ,(unsigned char *)Line);
	
	LCD_SetBackColor(White);
	LCD_SetTextColor(Blue);
	sprintf(Line,"        Hill        ");
	LCD_DisplayStringLine(Line1 ,(unsigned char *)Line);
	
	LCD_SetBackColor(Blue);
	LCD_SetTextColor(Red);
	sprintf(Line,"        Hill        ");
	LCD_DisplayStringLine(Line2 ,(unsigned char *)Line);
	
	LCD_SetBackColor(Red);
	LCD_SetTextColor(Magenta);
	sprintf(Line,"        Hill        ");
	LCD_DisplayStringLine(Line3 ,(unsigned char *)Line);
	
	LCD_SetBackColor(Green);
	LCD_SetTextColor(Cyan);
	sprintf(Line,"        Hill        ");
	LCD_DisplayStringLine(Line4 ,(unsigned char *)Line);
	
	LCD_SetBackColor(Yellow);
	LCD_SetTextColor(Blue);
	sprintf(Line,"        Hill        ");
	LCD_DisplayStringLine(Line5 ,(unsigned char *)Line);

	LCD_SetBackColor(Magenta);
	LCD_SetTextColor(Grey);
	sprintf(Line,"        Hill        ");
	LCD_DisplayStringLine(Line6 ,(unsigned char *)Line);
	
	LCD_SetBackColor(Blue2);
	LCD_SetTextColor(Red);
	sprintf(Line,"        Hill        ");
	LCD_DisplayStringLine(Line7 ,(unsigned char *)Line);
	
	LCD_SetBackColor(Black);
	LCD_SetTextColor(White);
	sprintf(Line,"   Over the hill    ");
	LCD_DisplayStringLine(Line8 ,(unsigned char *)Line);

	LCD_SetBackColor(Black);
	LCD_SetTextColor(Blue);
	sprintf(Line,"    lizongsheng     ");
	LCD_DisplayStringLine(Line9 ,(unsigned char *)Line);

ok,明天见,KEY有一点点小问题,明天没搞定就更新一期在虚拟机上快速配置环境,防止到考场半天搞不定软件耽误时间。

期待一下KEY,应该和LED的驱动一样,跟别人的不太一样,但肯定好用,且简短。(但愿吧.....)

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值