我是靠谱客的博主 神勇汽车,最近开发中收集的这篇文章主要介绍蓝桥杯嵌入式(G4系列)HAL:LCD显示存在遗留前言:正篇开始:,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

前言:

        蓝桥杯嵌入式LCD是必考的一个点,虽然官方已经提供给我们LCD的驱动,但是经过博主实践发现,LCD自带的函数存在一点小瑕疵。比如我使用LCD_DisplayStringLine()函数来显示了10个字符,下一次我又需要在这一行上显示5个字符,那么后面这5个字符不会自动刷新掉,这需要我们去用空格连填补,可这样的工作量就大了起来,所以我就想了个一劳永逸的方法:直接修改LCD驱动。

正篇开始:

        我们在LCD的驱动中找到LCD_DisplayStringLine()函数,下面是原有的函数:

void LCD_DisplayStringLine(u8 Line, u8 *ptr)
{
u32 i = 0;
u16 refcolumn = 319;//319;
while ((*ptr != 0) && (i < 20))
//	20
{
LCD_DisplayChar(Line, refcolumn, *ptr);
refcolumn -= 16;
ptr++;
i++;
}
}

        我们稍微修改一下:

void LCD_DisplayStringLine(u8 Line, u8 *ptr)
{
u32 i = 0;
u16 refcolumn = 319;//319;
while (i < 20)
//	20
{
if(*ptr==0)
{
LCD_DisplayChar(Line, refcolumn, ' ');
}
else
{
LCD_DisplayChar(Line, refcolumn, *ptr);
ptr++;
}
refcolumn -= 16;
i++;
}
}

        在行打印的时候,我们其实是在打印字符,而打印字符的停止条件一个是看是否超过了每行的最大限度,也就是20个字符,另一个就是看指针*ptr是否指向了字符串的结尾“”。了解了这两点之后,我们让指针指到“”的时候继续打印空格,直到打印满20个,这样就不需要我们时时刻刻在自己写的函数里添加空格了,十分方便。

最后

以上就是神勇汽车为你收集整理的蓝桥杯嵌入式(G4系列)HAL:LCD显示存在遗留前言:正篇开始:的全部内容,希望文章能够帮你解决蓝桥杯嵌入式(G4系列)HAL:LCD显示存在遗留前言:正篇开始:所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(54)

评论列表共有 0 条评论

立即
投稿
返回
顶部