STM32
直播中

乐骞添

7年用户 975经验值
私信 关注
[问答]

NUCLEO-G474RE在cubeIDE里面用CLD_Init();这类的代码就报错怎么解决?

使用的开发板是NUCLEO-G474RE,装上配套的G474RB液晶屏扣板时液晶屏点亮,但在cubeIDE里面用CLD_Init();这类的代码就报错,想问问是不是要先进行什么设置还是加上什么头文件

回帖(1)

王鑫

2024-3-19 17:55:45
在使用CLD_Init()函数之前,需要确保正确包含了相关的头文件和初始化配置。为了解决这个问题,你可以按照以下步骤进行操作:

1. 确保已经安装了相关的库文件和驱动程序。

2. 在源文件的顶部添加以下头文件的包含:
```c
#include "stm32g4xx_hal.h"
#include "stm32g4xx_nucleo_144.h"
#include "ili9341.h"
```
这些头文件包含了相关的函数和宏定义。

3. 在main函数中调用CLD_Init()函数之前,先进行下面几项初始化设置:

- 启用外设时钟:
```c
RCC_PeriphCLKInitTypeDef PeriphClkInitStruct;
PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SPI5;
PeriphClkInitStruct.Spi456ClockSelection = RCC_SPI45CLKSOURCE_PLL2;
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
{
  Error_Handler();
}
```
这段代码设置了SPI5外设时钟,确保其源自PLL2。

- 初始化屏幕控制器(例如ILI9341):
```c
ili9341_Init();
```
这行代码确保屏幕控制器已经正确初始化。

- 选择并配置 SPI 外设:
```c
static void MX_SPI5_Init(void)
{
  /* SPI5 parameter configuration*/
  hspi5.Instance = SPI5;
  hspi5.Init.Mode = SPI_MODE_MASTER;
  ...
  if (HAL_SPI_Init(&hspi5) != HAL_OK)
  {
    Error_Handler();
  }
}
```
这是SPI5外设的初始化配置,确保与屏幕控制器的连接正确。

4. 最后,在main函数中调用 CLD_Init() 函数以初始化显示屏幕:
```c
if (CLD_Init() != CLD_OK)
{
  Error_Handler();
}
```

希望以上步骤能帮助你解决问题。如果问题仍然存在,请提供更多的错误信息或完整的代码,以便更好地帮助你解决问题。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分