蓝桥杯电子类嵌入式(STM32G431)备赛学习记录(二)——LCD

02、LCD屏

蓝桥杯正式比赛时会给参赛选手一个数据包,里面会有LCD屏相关配置文件和库函数,所以这里的例程相当于只是一个代码移植。具体LCD屏的学习可以参考火哥的视频。
我们打开之前的工程文件以及.ioc文件,具体参考这里。根据芯片数据手册,在cube中配置相关GPIO口,完成后点击GENERATE CODE。
在这里插入图片描述
在这里插入图片描述
打开选手数据包文件,找到HAL_06_LCD文件夹,将Inc文件夹中的lcd.h和fonts.h以及Src文件夹下的lcd.c共三个文件复制到工程文件路径下的bsp文件夹中(上一篇博客中咱自己创建的那个)。
在这里插入图片描述
在工程中将lcd.c文件添加进bsp文件中。
在这里插入图片描述
打开官方提供的LCD工程文件,在main.c中查找有关LCD的代码如下:

  /* USER CODE BEGIN 2 */
	
	LCD_Init();      //LCD初始化
  /* USER CODE END 2 */

  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
	
	LCD_Clear(Blue);      //将屏幕清屏至蓝色
	LCD_SetBackColor(Blue);         //将屏幕背景设置为蓝色
	LCD_SetTextColor(White);        //字体设置为白色
	

	LCD_DrawLine(120,0,320,Horizontal);      //画线函数,这里根据指定位置画一条水平直线
	LCD_DrawLine(0,160,240,Vertical);		  //画垂线
	HAL_Delay(1000);		
	LCD_Clear(Blue);

	LCD_DrawRect(70,210,100,100);  			//画矩形
	HAL_Delay(1000);
	LCD_Clear(Blue);

	LCD_DrawCircle(120,160,50);			//画圆
	HAL_Delay(1000);

	LCD_Clear(Blue);
	LCD_DisplayStringLine(Line4 ,(unsigned char *)"    Hello,world.   "); 	·//在指定行显示指定字符
	HAL_Delay(1000);

	LCD_SetBackColor(White);
	LCD_DisplayStringLine(Line0,(unsigned char *)"                    ");	
	LCD_SetBackColor(Black);
	LCD_DisplayStringLine(Line1,(unsigned char *)"                    ");	
	LCD_SetBackColor(Grey);
	LCD_DisplayStringLine(Line2,(unsigned char *)"                    ");
	LCD_SetBackColor(Blue);
	LCD_DisplayStringLine(Line3,(unsigned char *)"                    ");
	LCD_SetBackColor(Blue2);
	LCD_DisplayStringLine(Line4,(unsigned char *)"                    ");
	LCD_SetBackColor(Red);						
	LCD_DisplayStringLine(Line5,(unsigned char *)"                    ");
	LCD_SetBackColor(Magenta);	
	LCD_DisplayStringLine(Line6,(unsigned char *)"                    ");
	LCD_SetBackColor(Green);	
	LCD_DisplayStringLine(Line7,(unsigned char *)"                    ");	
	LCD_SetBackColor(Cyan);	
	LCD_DisplayStringLine(Line8,(unsigned char *)"                    ");
	LCD_SetBackColor(Yellow);		
	LCD_DisplayStringLine(Line9,(unsigned char *)"                    ");	

可以全部复制到咱的主函数中查看效果。实际比赛中,根据题目要求可以对背景以及字体进行设定,比如咱这里要在第五行显示“YELLOW:30”这一串字符,背景为白色,字体为黑色,则在main.c中代码如下:

  while (1)
  {
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
		Dis_LED(0x80);
		HAL_Delay(500);
		Dis_LED(0x00);
		HAL_Delay(500);
		
		char dis[20];    //定义一个内存为20的数组
		uint i=30;
		sprintf(dis,"YELLOW:%d",i);     //将字符串传到指定数组中
		LCD_DisplayStringLine(Line5,(unsigned char *)dis);
  }
  /* USER CODE END 3 */

这里要注意要包含一下lcd.h和stdio.h这两个头文件,后一个是因为sprintf这个函数要用到。
编译无误,下载完成!

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
第十蓝桥杯大赛嵌入式组的STM32G431资源包是一个提供给参赛选手使用的开发工具包。STM32G431是STMicroelectronics公司推出的一款高性能、低功耗的嵌入式微控制器。该资源包包含了STM32G431主控板、配套的软件工具、教程文档等。 首先,STM32G431主控板是该资源包的核心部分。它内置了STM32G431微控制器芯片,具有丰富的外设接口,包括多个GPIO口、SPI、I2C、USART等通信接口,以及ADC、DAC等模拟输入输出接口。此外,主控板还提供了可扩展的外设接口,方便参赛选手根据需求进行外设的扩展和连接。 其次,STM32G431资源包还包含了丰富的软件工具,用于开发和调试嵌入式应用程序。其中包括STM32CubeMX配置软件,可帮助选手快速生成初始化代码,并进行外设的配置和引脚分配。另外还提供了Keil MDK开发集成环境和J-Link调试器,用于编写、编译和调试嵌入式应用程序。这些工具的使用简单方便,能够帮助选手高效地进行开发工作。 此外,STM32G431资源包还附带了详细的教程文档,包括使用说明、示例代码以及相关应用的案例。这些文档提供了参赛选手学习和参考的资料,可以帮助他们了解STM32G431的基本原理和功能,掌握开发工具的使用方法,以及进行相关应用的开发和调试。 总之,第十蓝桥杯大赛嵌入式组的STM32G431资源包提供了一套完整的开发工具包,包括STM32G431主控板、软件工具和教程文档。选手可以通过这些资源,快速上手开发嵌入式应用,充分发挥STM32G431的强大性能和低功耗特点,展示自己的技术实力和创新能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值