功能:实现了一个功能,通过按键,可以选择一,二,三某个选项。
现象:按键的时候,会闪一下。
发现问题:
每更新一个界面的时候,程序里会清屏。
分析问题:
(清屏是给128*64bit 的区域全部写0)
更新界面,相当于写了两次的128*8byte的数据,一次清屏,一次写新界面,存在延时,延时就会有闪屏存在
写了8 page 的 0,才去写 有效的数据,会有延时的。
解决办法:
第一种方法:写一行0,写一行有效数据,不要写了8行(硬件page0-page7)的0,再去写有效数据。
第二种方法:不要清屏操作,有显示的区域更新新数据就行,无数据区域写0(清除上次的显示)。
代码实现如下:
-
void display_function(uint8_t select_num)
-
{
-
color_font=
1;
-
display_graphic1_12x12(
1,(
1+
12*
3+
8),gong1,color_font);
/*在第1页,第25列显示单个汉字"功"*/
-
display_graphic1_12x12(
1,(
1+
12*
4+
8),neng1,color_font);
/*在第1页,第41列显示单个汉字"能"*/
-
display_graphic1_12x12(
1,(
1+
12*
5+
8),xuan1,color_font);
/*在第1页,第49列显示单个汉字"选"*/
-
display_graphic1_12x12(
1,(
1+
12*
6+
8),ze1,color_font);
/*在第1页,第57列显示单个汉字"则"*/
-
-
if(STATE_SELECT_1 == select_num)
-
{
-
color_font=
0;
-
display_graphic1_12x12(
3,(
1+
8),shuzi1,color_font);
-
display_graphic1_12x12(
3,(
1+
12+
8),dot1,color_font);
-
display_graphic1_12x12(
3,(
1+
12*
2+
8),dian1,color_font);
-
display_graphic1_12x12(
3,(
1+
12*
3+
8),chi1,color_font);
-
display_graphic1_12x12(
3,(
1+
12*
4+
8),chong1,color_font);
-
display_graphic1_12x12(
3,(
1+
12*
5+
8),dian1,color_font);
-
display_graphic1_12x12(
3,(
1+
12*
6+
8),heiping,color_font);
-
display_graphic1_12x12(
3,(
1+
12*
7+
8),heiping,color_font);
-
-
color_font=
1;
-
display_graphic1_12x12(
5,(
1+
8),shuzi2,color_font);
-
display_graphic1_12x12(
5,(
1+
12+
8),dot1,color_font);
-
display_graphic1_12x12(
5,(
1+
12*
2+
8),dian1,color_font);
-
display_graphic1_12x12(
5,(
1+
12*
3+
8),chi1,color_font);
-
display_graphic1_12x12(
5,(
1+
12*
4+
8),xin1,color_font);
-
display_graphic1_12x12(
5,(
1+
12*
5+
8),xi1,color_font);
-
display_graphic1_12x12(
5,(
1+
12*
6+
8),heiping,color_font);
-
display_graphic1_12x12(
5,(
1+
12*
7+
8),heiping,color_font);
-
-
color_font=
1;
-
display_graphic1_12x12(
7,(
1+
8),shuzi3,color_font);
-
display_graphic1_12x12(
7,(
1+
12+
8),dot1,color_font);
-
display_graphic1_12x12(
7,(
1+
12*
2+
8),she1,color_font);
-
display_graphic1_12x12(
7,(
1+
12*
3+
8),bei1,color_font);
-
display_graphic1_12x12(
7,(
1+
12*
4+
8),xin1,color_font);
-
display_graphic1_12x12(
7,(
1+
12*
5+
8),xi1,color_font);
-
display_graphic1_12x12(
7,(
1+
12*
6+
8),heiping,color_font);
-
display_graphic1_12x12(
7,(
1+
12*
7+
8),heiping,color_font);
-
-
}
-
if(STATE_SELECT_2 == select_num)
-
{
-
color_font=
1;
-
display_graphic1_12x12(
3,(
1+
8),shuzi1,color_font);
-
display_graphic1_12x12(
3,(
1+
12+
8),dot1,color_font);
-
display_graphic1_12x12(
3,(
1+
12*
2+
8),dian1,color_font);
-
display_graphic1_12x12(
3,(
1+
12*
3+
8),chi1,color_font);
-
display_graphic1_12x12(
3,(
1+
12*
4+
8),chong1,color_font);
-
display_graphic1_12x12(
3,(
1+
12*
5+
8),dian1,color_font);
-
display_graphic1_12x12(
3,(
1+
12*
6+
8),heiping,color_font);
-
display_graphic1_12x12(
3,(
1+
12*
7+
8),heiping,color_font);
-
-
color_font=
0;
-
display_graphic1_12x12(
5,(
1+
8),shuzi2,color_font);
-
display_graphic1_12x12(
5,(
1+
12+
8),dot1,color_font);
-
display_graphic1_12x12(
5,(
1+
12*
2+
8),dian1,color_font);
-
display_graphic1_12x12(
5,(
1+
12*
3+
8),chi1,color_font);
-
display_graphic1_12x12(
5,(
1+
12*
4+
8),xin1,color_font);
-
display_graphic1_12x12(
5,(
1+
12*
5+
8),xi1,color_font);
-
display_graphic1_12x12(
5,(
1+
12*
6+
8),heiping,color_font);
-
display_graphic1_12x12(
5,(
1+
12*
7+
8),heiping,color_font);
-
-
color_font=
1;
-
display_graphic1_12x12(
7,(
1+
8),shuzi3,color_font);
-
display_graphic1_12x12(
7,(
1+
12+
8),dot1,color_font);
-
display_graphic1_12x12(
7,(
1+
12*
2+
8),she1,color_font);
-
display_graphic1_12x12(
7,(
1+
12*
3+
8),bei1,color_font);
-
display_graphic1_12x12(
7,(
1+
12*
4+
8),xin1,color_font);
-
display_graphic1_12x12(
7,(
1+
12*
5+
8),xi1,color_font);
-
display_graphic1_12x12(
7,(
1+
12*
6+
8),heiping,color_font);
-
display_graphic1_12x12(
7,(
1+
12*
7+
8),heiping,color_font);
-
}
-
if(STATE_SELECT_3 == select_num)
-
{
-
color_font=
1;
-
display_graphic1_12x12(
3,(
1+
8),shuzi1,color_font);
-
display_graphic1_12x12(
3,(
1+
12+
8),dot1,color_font);
-
display_graphic1_12x12(
3,(
1+
12*
2+
8),dian1,color_font);
-
display_graphic1_12x12(
3,(
1+
12*
3+
8),chi1,color_font);
-
display_graphic1_12x12(
3,(
1+
12*
4+
8),chong1,color_font);
-
display_graphic1_12x12(
3,(
1+
12*
5+
8),dian1,color_font);
-
display_graphic1_12x12(
3,(
1+
12*
6+
8),heiping,color_font);
-
display_graphic1_12x12(
3,(
1+
12*
7+
8),heiping,color_font);
-
-
color_font=
1;
-
display_graphic1_12x12(
5,(
1+
8),shuzi2,color_font);
-
display_graphic1_12x12(
5,(
1+
12+
8),dot1,color_font);
-
display_graphic1_12x12(
5,(
1+
12*
2+
8),dian1,color_font);
-
display_graphic1_12x12(
5,(
1+
12*
3+
8),chi1,color_font);
-
display_graphic1_12x12(
5,(
1+
12*
4+
8),xin1,color_font);
-
display_graphic1_12x12(
5,(
1+
12*
5+
8),xi1,color_font);
-
display_graphic1_12x12(
5,(
1+
12*
6+
8),heiping,color_font);
-
display_graphic1_12x12(
5,(
1+
12*
7+
8),heiping,color_font);
-
-
color_font=
0;
-
display_graphic1_12x12(
7,(
1+
8),shuzi3,color_font);
-
display_graphic1_12x12(
7,(
1+
12+
8),dot1,color_font);
-
display_graphic1_12x12(
7,(
1+
12*
2+
8),she1,color_font);
-
display_graphic1_12x12(
7,(
1+
12*
3+
8),bei1,color_font);
-
display_graphic1_12x12(
7,(
1+
12*
4+
8),xin1,color_font);
-
display_graphic1_12x12(
7,(
1+
12*
5+
8),xi1,color_font);
-
display_graphic1_12x12(
7,(
1+
12*
6+
8),heiping,color_font);
-
display_graphic1_12x12(
7,(
1+
12*
7+
8),heiping,color_font);
-
}
-
}
转载:https://blog.csdn.net/happygrilclh/article/details/105666842
查看评论