【蓝桥杯嵌入式备赛】其二:LCD液晶屏显示

主控板:STM32G431RBT6
板载下载器:DAPLINK
软件:STM32CubeMX、Keil MDK5

文章目录

  • 1、工程配置
  • 2、代码编写
  • 3、显示结果
  • 4、问题与总结
    • (1)注意检查测试
    • (2)注意格式
    • (3)烧录时报错

1、工程配置

  • 在首篇配置好的工程中根据数据手册继续配置工程,如下图所示:
    就是将LCD所对应的端口设置为GPIO_Output
  • 库移植:在官方资料包中包括了LCD屏的驱动例程可以进行移植,将其中的lcd.hlcd.cfonts.h文件复制到BSP文件夹中,并在工程中加入文件。
    在这里插入图片描述

2、代码编写

  • main.c
    //先引用库函数
    #include "lcd.h"
    #include "led.h"
    #include "stdio.h"
    
    //初始化并编辑显示内容
    LCD_Init();
    LCD_Clear(Black);
    LCD_SetBackColor(Black);
    LCD_SetTextColor(White);
    	
    LCD_DisplayStringLine(Line3, (uint8_t *)"Dear Mr.Li: ");
    LCD_DisplayStringLine(Line5, (uint8_t *)"    kiss kiss.");
    HAL_Delay(1000);
    

3、显示结果

在这里插入图片描述

4、问题与总结

(1)注意检查测试

  在编写代码前首先需要烧录测试例程检查板子和库函数确认都没问题。商家发给我的例程中lcd.c文件存在问题无法显示内容,耽误了很多时间。

(2)注意格式

  • 在往届真题中都会对显示内容的格式有要求,比如背景色、字体颜色或行数等。
    LCD_Clear(Blue2);                 //蓝色清屏
    LCD_SetBackColor(Black);          //黑色背景
    LCD_SetTextColor(Red);            //红色字体
    //字体颜色改为白色
    LCD_SetTextColor(White);
    sprintf(buf , "AT24C02 Count: %d", val);                             //输出,注意占位符
    LCD_DisplayStringLine(Line1, (uint8_t *)buf);                        //在第一行输出  
    LCD_DisplayStringLine(Line8, (uint8_t *)"None key pressed");         //在第八行输出
    
  • 官方例程中规定了如下十个颜色和十个Line。
    LCD_Clear(Blue2);
    LCD_SetBackColor(Blue2);
    LCD_SetTextColor(Red);
    /* LCD color */
    #define White          0xFFFF
    #define Black          0x0000
    #define Grey           0xF7DE
    #define Blue           0x001F
    #define Blue2          0x051F
    #define Red            0xF800
    #define Magenta        0xF81F
    #define Green          0x07E0
    #define Cyan           0x7FFF
    #define Yellow         0xFFE0
    
    #define Line0          0
    #define Line1          24
    #define Line2          48
    #define Line3          72
    #define Line4          96
    #define Line5          120
    #define Line6          144
    #define Line7          168
    #define Line8          192
    #define Line9          216
    

(3)烧录时报错

  • 烧录程序时出现弹窗提示以下报错:“cannot load flash device description”,可能是因为没有找到对应得flash下载算法,可以尝试以下解决办法:
    • 首先根据下图标识路径找到Debug中的Settings,观察PortSW选项是否选对,再进入Flash Download选项;
      在这里插入图片描述
    • 之后利用Add按钮添加对应的Flash算法文件(弹窗中会有提示),再点击OK即可。
      在这里插入图片描述

参考资料
(1)B站学习视频:【备战2024蓝桥杯 嵌入式组】CT117E-M4 新款开发板 3小时省赛模块 速成总结
(2)keil5——常见报错【cannot load flash device description】
(3)蓝桥杯嵌入式2024年资料包(stm32G431RBT6–CT117-M4)

  • 17
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值