1. STM32工程创建基础指南
作为一名嵌入式开发工程师,我深知一个规范的工程结构对项目开发的重要性。在STM32开发中,合理的工程搭建不仅能提高开发效率,还能避免很多后期维护的麻烦。下面我将分享我在实际项目中总结的工程创建方法。
首先需要明确的是,STM32工程通常包含以下几个核心部分:
- 启动文件(startup_stm32fxxx.s)
- 链接脚本(.ld文件)
- CMSIS核心文件
- 外设库文件(HAL/LL/标准库)
- 用户应用程序代码
在Keil MDK环境下创建新工程时,我推荐按照以下步骤操作:
- 打开Keil uVision,点击Project -> New uVision Project
- 选择工程保存路径并命名
- 在弹出的设备选择窗口中,找到对应的STM32型号
- 勾选"Copy CMSIS files to project folder"选项
- 点击OK完成基础工程创建
提示:建议为每个工程创建独立的文件夹,保持工程文件的独立性。我通常采用这样的目录结构:
- /ProjectName
- /Drivers (存放HAL/LL库)
- /Src (用户源文件)
- /Inc (用户头文件)
- /MDK-ARM (Keil工程文件)
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 添加自定义函数模块的规范流程
在实际开发中,我们经常需要添加自己的功能模块,比如延时函数、外设驱动等。下面以添加delay模块为例,详细介绍正确的添加方法。
2.1 创建模块文件
首先在工程目录下创建delay文件夹,包含以下两个文件:
- delay.h:函数声明和宏定义
- delay.c:函数实现
delay.h文件的基本结构应该是这样的:
c复制#ifndef __DELAY_H
#define __DELAY_H
#include "stm32f1xx_hal.h" // 根据实际使用的芯片系列修改
void Delay_Init(uint8_t SYSCLK);
void Delay_us(uint32_t nus);
void Delay_ms(uint16_t nms);
#endif
delay.c文件则需要包含具体的实现代码。这里特别要注意的是延时函数的实现必须
