G4开发板上的LCD简介

  1. LCD的分别率是320*240(一行最多显示20个字符,总共有10行)
  2. 比赛提供HAL_LCD例程,相关的IO已经初始化完成

LCD编程注意事项

LCD作显示界面:

  1. 比赛提供lcd.c,lcd.h
  2. LCD显示数值:利用sprintf对字符串格式化,需要包含<stdio.h>
  3. 要避免长数据对短数据的覆盖,应该在数据后面加空格或者格式化。

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);

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐