【蓝桥杯】【嵌入式组别】第七节:LCD液晶屏幕编程
LCD的分别率是320*240(一行最多显示20个字符,总共有10行)比赛提供HAL_LCD例程,相关的IO已经初始化完成。
·
LCD液晶屏幕编程
G4开发板上的LCD简介
- LCD的分别率是320*240(一行最多显示20个字符,总共有10行)
- 比赛提供HAL_LCD例程,相关的IO已经初始化完成
LCD编程注意事项
LCD作显示界面:
- 比赛提供lcd.c,lcd.h
- LCD显示数值:利用sprintf对字符串格式化,需要包含<stdio.h>
- 要避免长数据对短数据的覆盖,应该在数据后面加空格或者格式化。
LCD编程
void LCD_Process(void)
{
u8 display_buf[20];
//[问题]长数据对端数据的覆盖问题
sprintf((char*)display_buf,"%d",4000);
LCD_DisplayStringLine(Line0,display_buf);
sprintf((char*)display_buf,"%d",10);
LCD_DisplayStringLine(Line0,display_buf);
//解决方案:加空格,针对字符串
LCD_DisplayStringLine(Line2,"hello");
LCD_DisplayStringLine(Line2,"h ");
//解决方案:格式化输出,针对数据
sprintf((char*)display_buf,"%5d",5000);//默认5位,显示右对齐
LCD_DisplayStringLine(Line3,display_buf);
sprintf((char*)display_buf,"%5d",10);
LCD_DisplayStringLine(Line3,display_buf);
sprintf((char*)display_buf,"%-5d",10);//左对齐
LCD_DisplayStringLine(Line4,display_buf);
sprintf((char*)display_buf,"%05d",500);//前面补0
LCD_DisplayStringLine(Line5,display_buf);
sprintf((char*)display_buf,"%5.2f",3.1415926);//显示小鼠,总长是5位,小数点算一位
LCD_DisplayStringLine(Line6,display_buf);
sprintf((char*)display_buf,"%x",15);
LCD_DisplayStringLine(Line7,display_buf);//%x显示16进制,%o显示8进制
sprintf((char*)display_buf,"%c",'a');
LCD_DisplayStringLine(Line8,display_buf);//%s字符串,%c是字符
sprintf((char*)display_buf,"%d %%",10);
LCD_DisplayStringLine(Line9,display_buf);//输出百分号:%
}
熟悉LCD清屏函数LCD_Clear(Blue); 设置字符背景色LCD_SetBackColor(Blue);
设置字体颜色LCD_SetTextColor(White);
显示字符串LCD_DisplayStringLine(Line4,display_buf);
更多推荐
所有评论(0)