原理图分析
将所有的引脚设为输出模式,原理图没啥看的,lcd主要是代码的编写。
STM32CubeMX配置
时钟,时钟树配置不再叙述。
GPIO配置:
然后直接生成工程即可。
代码
写代码之前我们需要将lcd的函数文件添加到我们的工程中,一共涉及三个文件:
链接:https://pan.baidu.com/s/1Pm-fIYXi_87PbgdoCwmzHQ
提取码:6666
在我们生成的工程中创建一个user文件夹用来存放各种外设需要的驱动文件:
把lcd文件夹放到user文件夹里即可:
打开工程,在project目录里添加一个新的文件夹,右键工程文件夹,点击:New Group,然后右键点击新生成的文件夹,Manage… ,重复名文件夹,然后添加需要的.c文件:
点击ok就好了,然后我们还需要添加该文件路径,点击小锤子(应该都知道是啥吧…),然后点C/C++ -> include Paths -> 然后是❌左边那个,和下面一样后点击ok就可以了:
剩下的就只是显示的代码了,一些问题我已经在注释写的很清楚了,我们只需要会用这些函数就行,不需要lcd文件里面的代码都要自己敲,比赛时会提供这些代码的。
/* USER CODE BEGIN 2 */
LCD_Init();//lcd初始化
LCD_Clear(Blue);//设置屏幕的背景颜色
//以下两句类似于声明“文本框”,设置文本框的背影颜色和字体颜色
LCD_SetBackColor(White);
LCD_SetTextColor(Black);
LCD_DisplayStringLine(Line0, (uint8_t *)" the first line ");//在第一行显示点东西,空格也算一个字符
LCD_DisplayStringLine(Line1, (uint8_t *)"01234567890123456789012");//一共输入了23个数字,但只显示了20个,所以每行只能显示20个字符
LCD_DisplayStringLine(Line2, (uint8_t *)"0123456789");//只输入了10个字符,可以看到该行后一半显示一开始设置的背影颜色
LCD_DisplayChar(Line3, 15 , 'a');//单个显示字符,其他部分显示背景颜色
LCD_DisplayStringLine(Line4, (uint8_t *)" ");
LCD_SetBackColor(Black);//同理上
LCD_SetTextColor(White);
LCD_DisplayStringLine(Line5, (uint8_t *)" ");
LCD_DisplayStringLine(Line6, (uint8_t *)" ZHL ZS ");
LCD_DisplayStringLine(Line7, (uint8_t *)" ");
LCD_DisplayStringLine(Line8, (uint8_t *)" @666 ");
LCD_DisplayStringLine(Line9, (uint8_t *)" ");
/* USER CODE END 2 */
注:注意代码的位置,是在while循环上面。