当前位置: 首页 > article >正文

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 库更加底层,代码也更为精简,适合对性能有较高要求的应用场景。

相关文章:

stm32cube ide如何生成LL库工程

在 STM32Cube IDE 里生成使用 LL(Low Layer)库的工程,可按以下步骤操作: 1. 新建 STM32 工程 启动 STM32Cube IDE,选择File→New→STM32 Project。依据需求挑选目标 MCU 型号,接着点击Next。 2. 配置工程…...

TEASER-plusplu Windows Mingw编译

编译记录: 1.下载该库 v2.0 链接1:https://github.com/MIT-SPARK/TEASER-plusplus 连接2:https://github.com/MIT-SPARK/TEASER-plusplus/releases 2.下载 googletest 链接:https://github.com/google/googletest/releases?page2…...

T5和GPT哪个更强大

一图速览:T5 vs GPT 对比总结 维度T5(Text-to-Text Transfer Transformer)GPT(Generative Pretrained Transformer)📌 模型类型编码器-解码器(Encoder-Decoder)解码器-only&#xf…...

tryhackme——Data Exfiltration

文章目录 一、网络拓扑二、数据泄露分类2.1 传统数据泄露2.2 C2通信2.3 隧道 三、隧道3.1 Exfiltration using TCP socket3.2 Exfiltration using SSH3.3 Exfiltrate using HTTP(S)HTTP隧道 3.4 Exfiltration using ICMP3.4.1 ICMP数据包结构3.4.2 MSF实现ICMP数据泄露3.4.3 IC…...

阿里云服务器采用crontab定时任务使acme.sh全自动化申请续签免费SSL证书,并部署在Linux宝塔网站和雷池WAF

阿里云服务器安装Linux宝塔面板用于部署网站,又安装了雷池WAF用于防护网站,网站访问正常。可以参考文章:Linux服务器安装Linux宝塔面板并部署wordpress网站以及雷池WAF 本文介绍使用 acme.sh 通过 DNS API 全自动申请和续签免费Let’s Encry…...

day40 python图像数据与显存

目录 一、图像数据的处理与预处理 (一)图像数据的特点 (二)数据预处理 二、神经网络模型的定义 (一)黑白图像模型的定义 (二)彩色图像模型的定义 (三)…...

Python+VR:如何让虚拟世界更懂你?——用户行为分析的实践

友友们好! 我是Echo_Wish,我的的新专栏《Python进阶》以及《Python!实战!》正式启动啦!这是专为那些渴望提升Python技能的朋友们量身打造的专栏,无论你是已经有一定基础的开发者,还是希望深入挖掘Python潜力的爱好者,这里都将是你不可错过的宝藏。 在这个专栏中,你将会…...

【华为鸿蒙电脑】首款鸿蒙电脑发布:MateBook Fold 非凡大师 MateBook Pro,擎云星河计划启动

文章目录 前言一、HUAWEI MateBook Fold 非凡大师(一)非凡设计(二)非凡显示(三)非凡科技(四)非凡系统(五)非凡体验 二、HUAWEI MateBook Pro三、预热&#xf…...

性能优化深度实践:突破vue应用性能

一、性能优化深度实践:突破 Vue 应用性能边界 1. 虚拟 DOM 性能边界分析 核心原理: 虚拟 DOM 是 Vue 的核心优化策略,通过 JS 对象描述真实 DOM 结构。当状态变化时: 生成新虚拟 DOM 树Diff 算法对比新旧树差异仅更新变化的真实…...

服务器定时任务查看和编辑

在 Ubuntu 系统中,查看当前系统中已开启的定时任务主要有以下几种方式,分别针对不同类型的定时任务管理方式(如 crontab、systemd timer 等): 查看服务器定时任务 一、查看用户级别的 Crontab 任务 每个用户都可以配…...

SpringBoot Controller接收参数方式, @RequestMapping

一. 通过原始的HttpServletRequest对象获取请求参数 二. 通过Spring提供的RequestParam注解,将请求参数绑定给方法参数 三. 如果请求参数名与形参变量名相同,直接定义方法形参即可接收。(省略RequestParam) 四. JSON格式的请求参数(POST、PUT) 主要在PO…...

double怎么在c/c++中输出保留输出最小精度为一位

在C中&#xff0c;使用std::cout输出double类型时&#xff0c;可以通过<iomanip>头文件中的std::fixed和std::setprecision来控制小数位数的输出。以下是几种常见场景的解决方案&#xff1a; ​​1. 输出至少1位小数&#xff08;不足补零&#xff09;​​ #include <…...

端午节互动网站

端午节互动网站 项目介绍 这是一个基于 Vue 3 Vite 开发的端午节主题互动网站&#xff0c;旨在通过有趣的交互方式展示中国传统端午节文化。网站包含三个主要功能模块&#xff1a;端午节介绍、互动包粽子游戏和龙舟竞赛游戏。 预览网站&#xff1a;https://duanwujiekuaile…...

[特殊字符] NAT映射类型详解:从基础原理到应用场景全解析

网络地址转换&#xff08;NAT&#xff09;是解决IPv4地址短缺的核心技术&#xff0c;通过IP地址映射实现内网与公网的通信。本文将系统梳理NAT映射的三大类型及其子类&#xff0c;助你全面掌握其工作机制与应用场景。 目录 &#x1f527; 一、基础NAT映射类型&#xff1a;按转…...

react-color-palette源码解析

项目中用到了react-color-palette组件&#xff0c;以前对第三方组件都是不求甚解&#xff0c;这次想了解一下其实现细节。 简介 react-color-palette 是一个用于创建颜色调色板的 React 组件。它提供了一个简单易用的接口&#xff0c;让开发者可以轻松地创建和管理颜色调色板。…...

在 Ubuntu 上安装 NVM (Node Version Manager) 的步骤

NVM (Node Version Manager) 是一个用于管理多个 Node.js 版本的工具&#xff0c;它允许您在同一台设备上安装、切换和管理不同版本的 Node.js。以下是在 Ubuntu 上安装 NVM 的详细步骤&#xff1a; 安装前准备 可先在windows上安装ubuntu 参考链接&#xff1a;https://blog.…...

重温经典算法——插入排序

版权声明 本文原创作者&#xff1a;谷哥的小弟作者博客地址&#xff1a;http://blog.csdn.net/lfdfhl 基本原理 插入排序是一种基于元素逐步插入的简单排序算法&#xff0c;其核心思想是将待排序序列分为已排序和未排序两部分&#xff0c;每次从未排序部分取出第一个元素&…...

在VirtualBox中打造高效开发环境:CentOS虚拟机安装与优化指南

&#x1f525;「炎码工坊」技术弹药已装填&#xff01; 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、为何选择VirtualBox CentOS组合&#xff1f; 对于程序员而言&#xff0c;构建隔离的开发测试环境是刚需。VirtualBox凭借其跨平台支持&#xff08;W…...

塔能科技:为多行业工厂量身定制精准节能方案

在当今追求可持续发展的时代&#xff0c;工厂能耗精准节能成为众多企业关注的焦点。塔能科技凭借先进的技术和丰富的经验&#xff0c;服务于广泛的行业客户&#xff0c;其中55.5%来自世界500强和上市公司。针对不同行业工厂的特点和需求&#xff0c;塔能提供了一系列行之有效的…...

【实证分析】上市公司全要素生产率+5种测算方式(1999-2024年)

上市公司的全要素生产率&#xff08;TFP&#xff09;衡量企业在资本、劳动及中间投入之外&#xff0c;通过技术进步、管理效率和规模效应等因素提升产出的能力。与单纯的劳动生产率或资本生产率不同&#xff0c;TFP综合反映了企业创新能力、资源配置效率和组织优化水平&#xf…...

弥散制氧机工作机制:高原低氧环境的氧浓度重构技术

弥散制氧机通过空气分离与智能扩散技术&#xff0c;将氧气均匀分布于封闭或半封闭空间&#xff0c;实现环境氧浓度的主动调控。其核心在于 “分子筛吸附动态均布智能反馈” 的协同作用机制&#xff0c;为高原、矿井、医疗等场景提供系统性氧环境解决方案。 一、空气分离&#x…...

[Python] 避免 PyPDF2 写入 PDF 出现黑框问题:基于语言自动匹配系统字体的解决方案

在使用 Python 操作 PDF 文件时,尤其是在处理中文、日语等非拉丁字符语言时,常常会遇到一个令人头疼的问题——文字变成“黑框”或“方块”,这通常是由于缺少合适的字体支持所致。本文将介绍一种自动选择系统字体的方式,结合 PyPDF2 模块解决此类问题。 一、问题背景:黑框…...

《基于Keepalived+LVS+Web+NFS的高可用集群搭建》

目 录 1 项目概述 1.1 项目背景 1.2 项目功能 2 项目的部署 2.1 部署环境介绍 2.2 项目的拓扑结构 2.3 项目环境调试 2.4 项目的部署 2.5 项目功能的验证 2.6 项目对应服务使用的日志 3 项目的注意事项 3.1 常见问题与解决方案 3.2 项目适用背…...

RabbitMQ搭建集群

要在 Windows 或 Linux&#xff08;CentOS 7.9&#xff09; 上搭建 RabbitMQ 集群&#xff0c;基本思路是&#xff1a; &#x1f5c2;️ 架构说明 主机角色IP节点名称A主节点10.152.132.1rabbitnode1B备节点10.152.132.2rabbitnode2 集群目标&#xff1a;两台 RabbitMQ 节点加…...

时间序列预测算法中的预测概率化笔记

文章目录 1 预测概率化的前情提要2 预测概率化的代码示例3 预测概率化在实际商业应用场景探索3.1 智能库存与供应链优化 1 预测概率化的前情提要 笔者看到【行业SOTA&#xff0c;京东首个自研十亿级时序大模型揭秘】提到&#xff1a; 预测概率化组件&#xff1a;由于大部分纯时…...

2025-05-28 Python深度学习8——优化器

文章目录 1 工作原理2 常见优化器2.1 SGD2.2 Adam 3 优化器参数4 学习率5 使用最佳实践 本文环境&#xff1a; Pycharm 2025.1Python 3.12.9Pytorch 2.6.0cu124 ​ 优化器 (Optimizer) 是深度学习中的核心组件&#xff0c;负责根据损失函数的梯度来更新模型的参数&#xff0c;使…...

篇章二 数据结构——前置知识(二)

目录 1. 包装类 1.1 包装类的概念 1.2 基本数据类型和对应的包装类 1.3 装箱和拆箱 1.4 自动装箱和自动拆箱 1.5 练习 —— 面试题 2. 泛型 2.1 如果没有泛型——会出现什么情况&#xff1f; 2.2 语法 2.3 裸类型 1.没有写<> 但是没有报错为什么&#xff1f; …...

如果是在服务器的tty2终端怎么查看登陆服务器的IP呢

1. 如果是在服务器的tty2终端怎么查看登陆服务器的IP呢 在服务器的 tty2 或其他终端会话中&#xff0c;要查看与该服务器的连接相关的 IP 地址&#xff0c;可以使用几种命令来获取这些信息&#xff1a; 1.1 使用 who 命令&#xff1a; who 命令可以显示当前登录到服务器上的…...

Java求职面试:从核心技术到AI与大数据的全面考核

Java求职面试&#xff1a;从核心技术到AI与大数据的全面考核 第一轮&#xff1a;基础框架与核心技术 面试官&#xff1a;谢飞机&#xff0c;咱们先从简单的开始。请你说说Spring Boot的启动过程。 谢飞机&#xff1a;嗯&#xff0c;Spring Boot启动的时候会自动扫描组件&…...

ubuntu24.04与ubuntu22.04比,有什么新特性?

Ubuntu 24.04 LTS (Noble Numbat) 相较于 Ubuntu 22.04 LTS (Jammy Jellyfish) 带来了许多重要的新特性和改进。以下是一些关键的亮点&#xff1a; Linux Kernel: Ubuntu 24.04 LTS: 搭载了更新的 Linux Kernel 6.8&#xff08;发布时&#xff09;。 Ubuntu 22.04 LTS: 发布时…...