之前有个朋友问过,stm32在使用TFT显示屏的时候,知道如何显示一个数据,但是类似传感器这种数据的显示,是需要实时显示的,但是不知道如何刷新,他一开始使用的是clear()清屏函数,确实有点暴力,但是效果不咋地,而且网上查了一下也似乎没有很好的解答。
于是我自己去试了一下,其实我之前也不怎么用显示屏的,所以具体其他方法我也没有深入研究,不过通过查看了显示屏的一些封装函数,想到了一种解决方案,就是在显示时使用叠加模式,显示数据之后,加一个延时,画上一个遮挡区域,再显示下一个数据,这样就可以实现显示屏上显示 :
温度 : 25 度
然后 温度 : 度 这部分不变,25 这个区域一直动态刷新的现象
代码也是相当简单
直接上一下简单关键代码
Show_Str(5,5,GREEN,BLACK, "温度",16,1);
Show_Str(100,5,GREEN,BLACK, "度",8,1);
LCD_Fill(5+40,5,100,5+20,BLACK);
Show_Str(5+40,5,GREEN,BLACK,temp,16,1);
//temp是一个存放实时温度数据的字符数组
//注意显示区域的正确计算选择
//注意填充区域的正确计算选择
有需要的朋友们可以拿去试试,这几个函数在显示屏的库文件中都已实现,直接调用即可
主要就是注意显示区域的正确选择即可