在蓝桥杯嵌入式往年的一些真题上都有多次考核到高亮显示
考点分为单行高亮和单个字节高亮
在官方给的lcd.c的函数里面有这么几个是对高亮操作的函数
void LCD_SetTextColor(vu16 Color); // 设置字体颜色
void LCD_SetBackColor(vu16 Color); // 设置背景颜色
void LCD_DisplayChar(u8 Line, u16 Column, u8 Ascii); //设置单个字节
单行高亮:
主要是这个函数
void LCD_SetBackColor(vu16 Color); // 设置背景颜色
这个函数里面就一个颜色设置的参数。但是在设置它单行高亮的时候。设置完它高亮的颜色的时候,注意要把背景颜色还原为原本的背景颜色。即:
原本初始化:
STM3210B_LCD_Init();
LCD_Clear(White);
LCD_SetBackColor(White);
LCD_SetTextColor(Blue);
单行高亮显示:
LCD_SetBackColor(Yellow);
LCD_DisplayStringLine(Line7," hello ");
LCD_SetBackColor(White);
单字节高亮
主要用到这个函数void LCD_DisplayChar(u8 Line, u16 Column, u8 Ascii);
这个函数有三个参数。第一个参数是行选择。第二个参数是列选择。在官方给的参考资料里面介绍了分辨率是240RGBx320,我们知道我们的lcd一共分为10行,20列,所以一个字符的高实际上是24*16,所以我们可以看到lcd.h宏定义里面每一行之间的差值就是24,那么每一列之间的差值就是16啦,实际上表示一列的时候是反着来的,320表示第一列,320-16表示第二列,那么320-(16 * i)表示第i列。
即:
LCD_SetBackColor(Yellow);
LCD_DisplayChar(Line4,(320 - (16 * 10)),'a');
LCD_SetBackColor(White);
第十个字节显示高亮。
也是与行高亮显示一样,最后要还原原本的背景颜色。