尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
【HAL库】嵌入式开发步骤
1. GPIO1.1 GPIO引脚分布引脚主要分为特殊功能的引脚和普通IO引脚其中灰色的是普通引脚可以通过编程控制黄色的是特殊功能引脚无法通过编程控制具有独特的功能。VDD VSS用来接电源VBAT用来接备用电池BOOT0用来启动模式选择VDD VSS名字来源MOS管中电流从漏极D流向源极S为普通引脚分组为GPIOA GPIOB GPIOC GPIOD1.2 IO的复用和重映射一个IO引脚可以具备多个不同的功能例如如下的引脚可以选择多个引脚的作用单片机上的外设很多引脚会重复所以为了可以同时使用这些功能单片机具有引脚复用的功能通过复用可以使得多个外设同时工作例如下图所示复用功能重映射将冲突的复用功能映射到其他引脚上。1.3 GPIO的四种输出模式推挽开漏通用通用输出推挽通用输出开漏复用复用输出推挽复用输出开漏具体的介绍细节可以参考https://blog.csdn.net/2301_81230001/article/details/1663737281.4 GPIO的输出速度具体的介绍细节可以参考https://blog.csdn.net/2301_81230001/article/details/1663737281.5 GPIO-HAL库编程首先生成代码模板后会在main函数中进行初始化如下所示intmain(void){/* 1. HAL库底层初始化 */HAL_Init();/* USER CODE BEGIN Init */// 【时钟未升频】MCU仍在内部低速时钟慎用HAL_Delay()/* USER CODE END Init *//* 2. 配置系统主时钟HSE/PLL升到目标主频 */SystemClock_Config();/* USER CODE BEGIN SysInit */// 【时钟已经配置完成】主频正常可以使用HAL_Delay()/* USER CODE END SysInit *//* 3. 所有外设初始化 */MX_GPIO_Init();MX_USART1_Init();MX_ADC1_Init();// ...其他MX_xxx_Init()/* USER CODE BEGIN 2 */// 所有外设初始化完毕后放自己的初始化代码/* USER CODE END 2 *//* 主循环 */while(1){/* USER CODE BEGIN 3 *//* USER CODE END 3 */}}重点函数的功能函数核心作用关键限制HAL_Init()复位外设、初始化 Flash、SysTick 滴答定时器、设置中断分组⚠️系统时钟仍是默认低速不要在这里用串口、ADC 等外设HAL_Delay 不准SystemClock_Config()配置 PLL、AHB/APB 分频把系统时钟设置为 CubeMX 选定频率⚠️必须在 HAL_Init 之后所有 MX 外设初始化之前MX_GPIO_Init()开启 GPIO 端口时钟配置引脚模式推挽 / 开漏 / 输入 / 复用、上下拉、速率⚠️必须在 SystemClock_Config 之后否则 GPIO 外设时钟不生效1.6 使用bootloader清除程序如果没有选择调试接口-则单片机默认烧录一次就锁死芯片。解锁的操作过程可以参考如下链接https://docs.baud-dance.com/docs/stm32/FAQ/CompilationFailed1.7 GPIO四种输入模式输入模式核心说明典型用途要点浮空输入GPIO_NOPULL引脚不接上拉/下拉电阻电平不确定受外界干扰大外接自带上下拉的信号悬空时电平抖动一般不推荐单独使用上拉输入GPIO_PULLUP内部接上拉电阻无外部信号时默认高电平按键输入按键一端接GND按键按下→低电平松开→高电平下拉输入GPIO_PULLDOWN内部接下拉电阻无外部信号时默认低电平按键输入按键一端接VCC按键按下→高电平松开→低电平模拟输入GPIO_ANALOG关闭数字输入缓冲引脚进入模拟通道不读高低电平ADC采集模拟电压不能用GPIO_ReadPin读取只能ADC采样具体的介绍细节可以参考https://blog.csdn.net/2301_81230001/article/details/1663737282. UART2.1 UART基础知识具体的介绍细节可以参考https://blog.csdn.net/2301_81230001/article/details/1664909812.2 使用串口发送数据在CubeMX中串口具有多种工作模式串口 句柄HAL库句柄管理对应外设的结构体实例保存外设地址、配置与运行状态作为HAL库函数识别和操作外设的唯一凭证。3. IIC3.1 IIC基础知识IIC- Inter-Integrated Circuit集成电路间总线具体的介绍细节可以参考https://blog.csdn.net/2301_81230001/article/details/1663737894. 时钟系统4.1 时钟基础知识具体的介绍细节可以参考https://blog.csdn.net/2301_81230001/article/details/166788037HAL库中具有对应的时钟树图形化设置分为两部分小时钟树-主要涉及实时时钟和看门狗大时钟树- 主要涉及AHBAPB1APB2等等挂载外设。5. SPI5.1 SPI基础知识SPI Serial Peripheral Interface- 串行外设接口适用于高速双向数据传输场景具体的介绍细节可以参考https://blog.csdn.net/2301_81230001/article/details/1664909575.2 SPI与外部Flash通信首先需要选择SPI的工作方式在图形化界面有如下的选项一般单片机作为主机使用6. 中断6.1 中断的基础知识具体的介绍细节可以参考https://blog.csdn.net/2301_81230001/article/details/1667880377. 定时器7.1 基础知识具体的介绍细节可以参考https://blog.csdn.net/2301_81230001/article/details/166794087?spm1001.2014.3001.55018. ADC8.1 基础知识具体的介绍细节可以参考https://blog.csdn.net/2301_81230001/article/details/166902233?spm1001.2014.3001.55019. WDG
RELATED

相关推荐

轴承式继电器无人机控制Matlab实现:混合系统仿真与验证

轴承式继电器无人机控制Matlab实现:混合系统仿真与验证

1. 从标题拆解这个项目的真实意图1.1 标题里藏着的三个关键词到底在说什么“轴承式继电器无人机控制Matlab实现”这个标题,乍一看像是三个不太搭界的东西硬凑在一起。但如果你在工业控制或者无人机飞控领域待过一段时间,就会发现这个组合其实指向一个非常…

📅 2026/10/2 20:36:17
Android App冷启动全链路解析:从点击图标到首帧显示的每一步

Android App冷启动全链路解析:从点击图标到首帧显示的每一步

1. 全景透视:一次点击背后有多少角色在接力我最早开始看 Android 源码的时候,带着一个很天真的问题:用户在桌面上按下一个图标,到 App 界面出现在眼前,中间到底发生了什么?很多人能脱口而出“启动 Activity…

📅 2026/10/2 20:36:17
OpenClaw 2.7.9 网关频繁离线排查手册:从部署流程到 TaoToken 统一 Key 接入

OpenClaw 2.7.9 网关频繁离线排查手册:从部署流程到 TaoToken 统一 Key 接入

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📅 2026/10/2 20:31:16
MORE NEWS

更多资讯

📰

GWO优化SVM参数:灰狼算法自动调优c和g实战

做了几年机器学习项目,最烦的一件事就是用SVM时手动调惩罚参数c和核函数参数g。靠经验和网格搜索一个个试,运气好还能出个不错的效果,运气不好直接跑到怀疑人生。后来接触了灰狼优化算法(GWO),把SVM这两个参…

📰

灰狼优化算法GWO自动调参:SVM参数优化从入门到实战

调SVM的朋友应该都有过这种体验:模型效果上不去,第一反应就是调惩罚参数c和核函数参数g,但怎么调全凭感觉,运气好试几次就出结果,运气不好网格搜索跑一晚上还找不到合适的组合。这篇文章直接给你一套简单粗暴的替代方案…

📰

多模态大模型实战:从看图说话到商品理解流水线搭建

1. 多模态大模型到底改变了什么:从一个“看图说话”的翻车现场说起去年秋天,我帮一个做电商的朋友处理一批商品主图。他的需求很朴素:给三千多张商品图自动生成卖点文案,要求“看一眼图就能写出人话”。我一开始用的是纯文本大模型…

📰

Claude-OSINT风险量化:FAIR模型如何把侦察发现换算成0–100分与董事会美元损失报告

Claude-OSINT风险量化:FAIR模型如何把侦察发现换算成0–100分与董事会美元损失报告 【免费下载链接】Claude-OSINT 8 Claude skills 100 recon capabilities 80 secret-regex patterns 80 dorks 9 read-only credential validators 27 attack-path templates …

📰

影刀RPA实操指南:跨平台比价系统——同款商品全网价格对齐

影刀RPA实操指南:跨平台比价系统——同款商品全网价格对齐 做电商选品或做采购的人都有同一个痛点:同一款商品在淘宝、拼多多、京东价格各不相同,还天天变,人工逐个搜逐个记根本跟不上。这篇讲怎么用影刀RPA搭一套跨平台比价系统&…

📰

2026 心理测评工具筛选要点,员工心理风险筛查怎么做

一、心理风险筛查正从可选项变成合规动作2026年,企业员工心理风险筛查需求已占整体测评市场的36.5%,成为第一大应用场景。国家卫健委等25个部门联合发文,明确要求定期开展心理健康测评、构建监测预警体系;ISO45001也将“定期开展员…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬