蓝桥杯嵌入式基础模块——LCD显示器的基本使用(新板)STM32G431(HAL库开发)

这篇具有很好参考价值的文章主要介绍了蓝桥杯嵌入式基础模块——LCD显示器的基本使用(新板)STM32G431(HAL库开发)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

        在蓝桥杯嵌入式官方给我们提供好了,LCD显示的底层源码,我们只需要,记住里面的API函数,会用这些函数就行。

源码位置

        在官方给的资料中找到这个文件名字DK117_G4 Data Packet->开发板驱动文件里面就是所有的底层文件有两种类型,一种是基于HAL库的一种是标准库的。里面有LCD的底层驱动,还有IIC的底层驱动(软件模仿IIC驱动)。

fonts.h文件是底层文字库,这个也是必须需要的,要不然找不到文字的扫描显示。

蓝桥杯嵌入式基础模块——LCD显示器的基本使用(新板)STM32G431(HAL库开发)

 文章来源地址https://www.toymoban.com/news/detail-484317.html

蓝桥杯嵌入式基础模块——LCD显示器的基本使用(新板)STM32G431(HAL库开发)

 蓝桥杯嵌入式基础模块——LCD显示器的基本使用(新板)STM32G431(HAL库开发)

 复制粘贴

在STM32CubeMX生成的文件下面建一个LCD文件夹,存放上面复制的三个文件。

蓝桥杯嵌入式基础模块——LCD显示器的基本使用(新板)STM32G431(HAL库开发)

蓝桥杯嵌入式基础模块——LCD显示器的基本使用(新板)STM32G431(HAL库开发) 

 打开Keil建一个分组名为LCD

刚刚加载进去的LCD文件,会报错因为文件名,不一样,需要这样修改

未修改时

蓝桥杯嵌入式基础模块——LCD显示器的基本使用(新板)STM32G431(HAL库开发)

修改好了 

蓝桥杯嵌入式基础模块——LCD显示器的基本使用(新板)STM32G431(HAL库开发)

 按照下面的顺序把头文件加载进去

蓝桥杯嵌入式基础模块——LCD显示器的基本使用(新板)STM32G431(HAL库开发)

 加载完成点击OK就行了。

API接口

我为大家介绍一下LCD底层的函数

LCD初始化函数:

函数 void LCD_Init(void)
参数
返回值
作用 初始化LCD,这个很重要,在使用LCD之前一定要初始化

函数LCD_SetTextColor()

函数 void LCD_SetTextColor(vu16 Color)
参数 表示颜色
返回值
作用 这是文本颜色函数,参数是表示,在LCD显示字体颜色

 函数LCD_SetBackColor()

函数 void LCD_SetBackColor(vu16 Color)
参数 表示颜色
返回值
作用 这是文本背景颜色函数,参数是表示,在LCD显示字体的背景色

函数LCD_Clear() 

函数 void LCD_Clear(vu16 Color)
参数 表示颜色
返回值
作用 清除函数,可以清除全屏,参数是,清屏之后屏幕是什么颜色的

函数void LCD_DisplayStringLine(u8 Line, u8 *ptr); 

函数 void LCD_DisplayStringLine(u8 Line, u8 *ptr)
参数

Line:表示数据放在滴几行,一个由10行

ptr:在LCD显示的数据,仅支持字符串。

返回值
作用 在LCD固定位置显示数据

常用的函数不多,这几个是必用的函数。

我为大家重定义一下这个 LCD_DisplayStringLine()函数,可以实现变量的显示。

利用这个sprintf()函数,可以重新定义一下。

#include <stdarg.h>
//可以实时打印变量

void LcdSprintf(u8 Line,char *format,...)
{
	char String[50];
	va_list arg;
	va_start(arg,format);
	vsprintf(String,format,arg);
	va_end(arg);
	
	LCD_DisplayStringLine(Line,String);
}

主函数

int main(void)
{
  /* USER CODE BEGIN 1 */
	char table[]="cuwsxhiax";

  /* USER CODE END 1 */

  /* MCU Configuration--------------------------------------------------------*/

  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
  HAL_Init();

  /* USER CODE BEGIN Init */

  /* USER CODE END Init */

  /* Configure the system clock */
  SystemClock_Config();

  /* USER CODE BEGIN SysInit */

  /* USER CODE END SysInit */

  /* Initialize all configured peripherals */
  MX_GPIO_Init();
  /* USER CODE BEGIN 2 */
	
	LCD_Init();  //LCD初始化
	LCD_Clear(Black);//清除屏幕,并且显示黑色
	LCD_SetBackColor(Black);//设置字体背景色
	LCD_SetTextColor(White);//设置字体颜色
  /* USER CODE END 2 */

  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
		u8 i=25;
		
		LcdSprintf(Line3,"  i=%d",i);
		LcdSprintf(Line4,"  sxhuaxjn");

    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
  }
  /* USER CODE END 3 */
}

实验现象:

蓝桥杯嵌入式基础模块——LCD显示器的基本使用(新板)STM32G431(HAL库开发)

 

到了这里,关于蓝桥杯嵌入式基础模块——LCD显示器的基本使用(新板)STM32G431(HAL库开发)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 嵌入式Linux驱动开发(LCD屏幕专题)(一)

    总的分辨率是 yres*xres。 以下三种方式表示颜色 每个屏幕都有一个内存(framebuffer)如下图,内存中每块数据对用屏幕上的一个像素点,设置好LCD后,只需把颜色数据写入framebuffer即可。 Framebuffer驱动属于字符设备驱动,我们先说字符设备驱动框架如下图: 驱动主设备号 构造

    2024年02月09日
    浏览(52)
  • 嵌入式Linux驱动开发(LCD屏幕专题)(三)

    1. 硬件相关的操作 LCD驱动程序的核心就是: 分配fb_info 设置fb_info 注册fb_info 硬件相关的设置 硬件相关的设置又可以分为3部分: 引脚设置 时钟设置 LCD控制器设置 2. 在设备树里指定LCD参数 3. 编程 3.1 从设备树获得参数 时序参数、引脚极性等信息,都被保存在一个display_timi

    2024年02月09日
    浏览(52)
  • 【正点原子FPGA连载】第二十三章PS通过VDMA驱动LCD显示实验 摘自【正点原子】DFZU2EG_4EV MPSoC之嵌入式Vitis开发指南

    1)实验平台:正点原子MPSoC开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id=692450874670 3)全套实验源码+手册+视频下载地址: http://www.openedv.com/thread-340252-1-1.html AXI VDMA是Xilinx专门针对视频应用提供的一种高带宽的解决方案,旨在实现AXI4-Stream视频接口和AXI4接口之间的高

    2024年02月04日
    浏览(51)
  • 【正点原子FPGA连载】 第三十章双目OV5640摄像头LCD显示实验 摘自【正点原子】DFZU2EG_4EV MPSoC之嵌入式Vitis开发指南

    1)实验平台:正点原子MPSoC开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id=692450874670 3)全套实验源码+手册+视频下载地址: http://www.openedv.com/thread-340252-1-1.html 双目摄像头是在一个模组上集成了两个摄像头,实现了双通道的图像采集。双目摄像头一般应用于安防监控、

    2024年02月13日
    浏览(39)
  • 【蓝桥杯嵌入式】第十三届蓝桥杯嵌入式省赛客观题以及详细题解

    题解:   概念题。 MCO引脚,是单片机对外提供时钟的引脚。 HSE,高速外部时钟信号,时钟源由外部晶体/陶瓷谐振器与外部时钟; HSI,高速的内部时钟,由内部8MHz的RC振荡器产生,可直接作为系统时钟或在2分频后作为PLL输入; SYSCLK,是系统时钟; HSE/2,对高速外部时钟进

    2023年04月16日
    浏览(48)
  • 【蓝桥杯嵌入式】第十二届蓝桥杯嵌入式省赛客观题及详细题解

    解析: 波特率,指 每秒钟传输码元符号的个数,对符号传输速率的一种度量,单位为1baud/s 。 由于串口只有高低电平之分,即1码元等于1bit,即波特单位1baud和1bit等效,因此,此时的波特单位可以是位/秒。 答案: B 解析: 放大电路的开环,是指未经反馈通路形成的独立放大电

    2023年04月17日
    浏览(63)
  • 【蓝桥杯嵌入式】第十三届蓝桥杯嵌入式国赛程序设计试题以及详细题解

      本届国赛试题主要包含 LCD 、 LED 、 按键 、 EEPROM 、 串口 、 模拟电压输入 、 脉冲输入输出 七大部分,其中前面三个部分是蓝桥杯嵌入式的“亲儿子”(必考部分),而剩下的四个部分都为“干儿子”(考频相对较高)。   相对于本届省赛两套试题:   本套试题 串口数

    2024年02月02日
    浏览(60)
  • 【蓝桥杯嵌入式】第十四届蓝桥杯嵌入式[模拟赛2]客观题及详细题解

    解析 USART_CR1:控制寄存器1,其中的M位定义了数据字的长度,由软件对其设置和清零。 USART_CR2:控制寄存器2。 USART_BRR:波特率寄存器。 USART_DR:数据寄存器。 (如果现场不记得,可以查阅芯片手册) 答案: A 解析 在STM32微控制器中,DMA可编程的数据传送数目:最大为65535。(如果现场不

    2023年04月10日
    浏览(49)
  • 【蓝桥杯嵌入式】蓝桥杯嵌入式第十四届省赛程序真题,真题分析与代码讲解

     🎊【蓝桥杯嵌入式】专题正在持续更新中,原理图解析✨,各模块分析✨以及历年真题讲解✨都已更新完毕,欢迎大家前往订阅本专题🎏 🎏【蓝桥杯嵌入式】蓝桥杯第十届省赛真题 🎏【蓝桥杯嵌入式】蓝桥杯第十二届省赛程序真题 🎏【蓝桥杯嵌入式】蓝桥杯第十三届省

    2023年04月15日
    浏览(63)
  • 【蓝桥杯嵌入式】第十二届蓝桥杯嵌入式国赛程序设计试题以及详细题解

      本套试题较为常规,试题主要需要使用的模块有:LCD、LED、按键、定时器输入捕获功能、采集光照传感器的值以及串口,其中最重要的是 串口收发数据 以及 定时器的输入捕获功能 ,其余的各个部分还算比较常规、比较简单。下面咱就一起来看看这届赛题的题解吧!🤤🤤

    2024年02月06日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包