你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32G431RBTx 基本模块 LCD

[复制链接]
STMCU小助手 发布时间:2023-3-1 23:32
前言
本篇文章将在LED的工程基础上,通过移植大赛提供的LCD支持包点亮屏幕。


LCD
1.原理图以及配置元素

f9f27bc1c9ce4cd3936f1da7270807a0.png

分析:
从原理图上看LCD占用的IO口有PB5,8,9,PA8,PC0-15。


2.CubeMx的配置步骤

PS:大赛的支持包内置了IO口的配置过程,运用LCD时可以不用专门配置。

06624451d6134e1d9713f9dc7abf7073.png

在这里只需要将PB5,8,9,PA8,PC0-15设置为GPIO_Output即可,就不需要再进行其他配置了。


3.移植LCD支持包

0cdeb6f9ec0c4e049ff9f021ae20cdc4.png

8d9196f4acd744dc847917822fdba012.png

ea481dc589d94c538535ba58d91f74c6.png

88a91dd0e20a4d0d9132f7aea7234fd4.png

c36a2a20554b4f39b0d4cee5accc6e2c.png
同样的,把Src中的lcd.c文件复制粘贴到bsp文件夹中。

c5e91931f6d04b62a233e2fffd756f35.png

d82f783b4f7548bbb0bf9c6fdb5ecdb9.png


三个文件添加到bsp组中。
到此LCD的工程我们就建立完毕了。


4.测试代码
main.c中的main函数部分代码为:
  1. int main(void)
  2. {
  3.   /* USER CODE BEGIN 1 */

  4.   /* USER CODE END 1 */

  5.   /* MCU Configuration--------------------------------------------------------*/

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

  8.   /* USER CODE BEGIN Init */

  9.   /* USER CODE END Init */

  10.   /* Configure the system clock */
  11.   SystemClock_Config();

  12.   /* USER CODE BEGIN SysInit */

  13.   /* USER CODE END SysInit */

  14.   /* Initialize all configured peripherals */
  15.   MX_GPIO_Init();
  16.   /* USER CODE BEGIN 2 */
  17.         LCD_Init();
  18.   /* USER CODE END 2 */

  19.   /* Infinite loop */
  20.   /* USER CODE BEGIN WHILE */
  21.         LCD_Clear(Blue);        //清屏并将背景设为蓝色
  22.         LCD_SetBackColor(Blue); //设置字体背景颜色为蓝色
  23.         LCD_SetTextColor(White); //设置字体文本颜色为白色
  24.         
  25.         LCD_DisplayStringLine(Line0, (uint8_t *)"                    ");
  26.         LCD_DisplayStringLine(Line1, (uint8_t *)"                    ");
  27.         LCD_DisplayStringLine(Line2, (uint8_t *)"      LCD Test      ");
  28.         LCD_DisplayStringLine(Line3, (uint8_t *)"                    ");
  29.         LCD_DisplayStringLine(Line4, (uint8_t *)"                    ");
  30.         
  31.         LCD_SetBackColor(White); //设置字体背景颜色为白色
  32.         LCD_SetTextColor(Blue); //设置字体背景颜色为蓝色

  33.         LCD_DisplayStringLine(Line5, (uint8_t *)"                    ");
  34.         LCD_DisplayStringLine(Line6, (uint8_t *)"       HAL LIB      ");
  35.         LCD_DisplayStringLine(Line7, (uint8_t *)"                    ");
  36.         LCD_DisplayStringLine(Line8, (uint8_t *)"         @80        ");
  37.         LCD_DisplayStringLine(Line9, (uint8_t *)"                    "); //一共九行,空格为背景颜色
  38.   while (1)
  39.   {
  40.     /* USER CODE END WHILE */

  41.     /* USER CODE BEGIN 3 */
  42.   }
  43.   /* USER CODE END 3 */
  44. }
复制代码

5.效果显示

8fe6ac5c85e740bf871e7e9f0a79e16d.jpg


总结以及我的发现
1.总结
以上就是LED的配置以及测试代码。
本博客参考学长之前备赛博客中的LCD部分(主要是参考结构)

2.我的发现
在b站冲浪的时候发现一个用嵌入式板子实现上位机投屏的项目蓝桥杯比赛结束,用参赛设备践行有屏就有BadApple,把它的源码拷下来后我自己试了一下,完成了如下的效果:

33548645998349d4ad96b9baaaead21c.gif

————————————————
版权声明:火花页.


收藏 评论0 发布时间:2023-3-1 23:32

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版