今天移植一下考试时给的屏幕驱动,然后简单了解一下API函数。
不用cubemx配置,直接把写好的.c和.h文件移植一下就可以。
把两个.h和一个.c全部拿到我们的User文件夹里,然后keil添加一下,步骤如下。
添加后:
记得#include,因为后边要用
#include "LCD.h"
#include "stdio.h"
然后打开src里的main.c文件,记事本打开,把关键内容copy一下够用就行。
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内容
效果:
显示一下李华身高,(可恶,李华脱了鞋子只有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);
今天的教程其实在这里就差不多了,但是既然是彩屏,我简单试一下能不能用现有的函数玩点花活。之前有段时间喜欢李宗盛的《山丘》,最近更喜欢《我终于失去了你》,或者《爱如潮水》,感觉我的审美跟年龄好不符,像个40岁的老头。
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的驱动一样,跟别人的不太一样,但肯定好用,且简短。(但愿吧.....)