stm32cube ide如何生成LL库工程

在 STM32Cube IDE 里生成使用 LL(Low Layer)库的工程,可按以下步骤操作:

1. 新建 STM32 工程

  • 启动 STM32Cube IDE,选择FileNewSTM32 Project
  • 依据需求挑选目标 MCU 型号,接着点击Next

2. 配置工程

  • 为工程命名并选择存储路径,然后点击Next
  • Toolchain/IDE选项中,选择GCC ARM Embedded,再点击Finish

3. 打开图形化配置工具(CubeMX)

  • 在 Project Explorer 视图中,双击.ioc文件,以此打开 STM32CubeMX 配置界面。

4. 配置 LL 库

  • 切换到Project Manager标签页。
  • 点击Code Generator选项。
  • Generated files区域,勾选Generate peripheral initialization as a pair of '.c/.h' files per peripheral
  • 展开Advanced Settings,把需要使用 LL 库的外设(如 GPIO、USART 等)对应的驱动从HAL改为LL
  • 点击GENERATE CODE,之后关闭 CubeMX 工具。

5. 验证 LL 库的使用

  • 回到 STM32Cube IDE,打开Src目录下生成的外设初始化文件(例如stm32xxxx_ll_gpio.c),确认是否存在 LL 库函数调用。
  • 在自己的代码里,可以直接包含对应的 LL 库头文件(例如stm32xxxx_ll_gpio.h)来使用 LL 库函数。

示例代码片段

下面是一个使用 LL 库配置 GPIO 的简单示例:

c

运行

复制代码
#include "stm32xxxx_ll_gpio.h"

void MX_GPIO_Init(void)
{
  LL_GPIO_InitTypeDef GPIO_InitStruct = {0};

  /* GPIO Ports Clock Enable */
  LL_AHB1_GRP1_EnableClock(LL_AHB1_GRP1_PERIPH_GPIOA);

  /* Configure GPIO pin Output Level */
  LL_GPIO_SetOutputPin(GPIOA, LL_GPIO_PIN_5);

  /* Configure GPIO pin : PA5 */
  GPIO_InitStruct.Pin = LL_GPIO_PIN_5;
  GPIO_InitStruct.Mode = LL_GPIO_MODE_OUTPUT;
  GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_LOW;
  GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL;
  GPIO_InitStruct.Pull = LL_GPIO_PULL_NO;
  LL_GPIO_Init(GPIOA, &GPIO_InitStruct);
}

通过上述步骤,你就可以成功创建一个基于 LL 库的 STM32 工程。LL 库相较于 HAL 库更加底层,代码也更为精简,适合对性能有较高要求的应用场景。

相关推荐
晶振厂家-晶发电子20 小时前
晶振在5G时代的角色:高精度时钟的核心支撑
单片机·嵌入式硬件·5g·晶振·电子元器件·晶振知识
F1372980155720 小时前
WD5030A 芯片,12V降5V,输出电流12A,电路设计
stm32·单片机·嵌入式硬件·汽车·51单片机
小莞尔20 小时前
【51单片机】【protues仿真】基于51单片机的篮球计时计分器系统
c语言·stm32·单片机·嵌入式硬件·51单片机
三佛科技-1873661339720 小时前
分享机械键盘MCU解决方案
单片机·嵌入式硬件·计算机外设
李永奉20 小时前
51单片机-使用IIC通信协议实现EEPROM模块教程
单片机·嵌入式硬件·51单片机
工大一只猿21 小时前
51单片机学习
嵌入式硬件·学习·51单片机
小莞尔21 小时前
【51单片机】【protues仿真】 基于51单片机八路抢答器系统
c语言·开发语言·单片机·嵌入式硬件·51单片机
风_峰21 小时前
Ubuntu Linux SD卡分区操作
嵌入式硬件·ubuntu·fpga开发
bing_feilong21 小时前
STM32精准控制水流
单片机·嵌入式硬件
一起搞IT吧1 天前
嵌入式ARM SOC开发中文专题分享一:ARM SOC外围资源介绍
arm开发·嵌入式硬件