蓝桥杯嵌入式-LCD
·
本篇文章是在蓝桥杯嵌入式-任务调度器完整的项目下补充完成的。如果需要代码,直接看第四部分的下载链接。
一、STM32CubMX配置
注:因为赛点资源包提供了LCD库相关的内容,其中包含了LCD所需要配置的引脚内容,因此不用进行STM32CubMX配置。
1.1 资源包相关内容引用





二、keil5配置
2.1 添加LCD库


三、代码方面
3.1 main.c
3.1.1 修改位置

3.1.2 对应代码
LCD_Init();
LCD_Clear(Black);
LCD_SetBackColor(Black);
LCD_SetTextColor(White);
3.2 task.h
3.2.1 修改位置

3.1.2 对应代码
#include "lcd.h"
3.3 task.c
3.3.1 修改位置

3.3.2 对应代码
void lcddisplay(uint8_t Line, char* format, ...)
{
char string[21]; // 每行最多显示20个字符,加上结束符
va_list arg;
va_start(arg, format);
vsprintf(string, format, arg);
va_end(arg);
LCD_DisplayStringLine(Line, (u8*)string);
}
void lcd_proc()
{
static uint8_t num = 0;
lcddisplay(Line1, " Hello World %d",num++);//不显示的位置用空格
}
//task_t scheduler_t[] =
//{
// {lcd_proc, 100, 0}
//};
四、其他
4.1 资源包具体路径




4.2 调用库产生的警报消除


4.3 若编译没问题,keil目录下.h文件的移除(美观)

4.4 函数知识点补充
lcddisplay()这个函数所显示的字符+空格数量需要计算刚好等于20.
例如:
在这个题目中:显示部分代码应为
lcddisplay(Line1, " GOODS ");//7空格+5字符+8空格
lcddisplay(Line3, " R37:%.2fV ",1.25);//5空格+9字符+6空格
lcddisplay(Line4, " R38:%.2fV ",2.36);//5空格+9字符+6空格
如果空格+字符数量不满20.可能会在使用过程中产生一些错误。
4.5 完整代码下载
资料下载:https://pan.quark.cn/s/08f8e6116512
更多推荐
所有评论(0)