🔬 实验01:MDK 开发环境搭建
📌 实验目标
- 掌握 Keil MDK-ARM 集成开发环境的安装方法
- 学会新建 STM32 工程并配置
- 掌握程序的编译、下载和调试方法
- 完成第一个 STM32 程序——LED 闪烁
一、实验内容
- 安装 Keil MDK-ARM 开发环境
- 安装 STM32F1 器件支持包(DFP)
- 新建一个 STM32 工程
- 编写简单的 LED 闪烁程序
- 编译、下载并观察运行结果
二、实验原理
Keil MDK-ARM 是 ARM 公司推出的微控制器开发套件,提供 C/C++ 编译器、调试器和仿真环境。本实验通过建立最小工程,熟悉从编写代码到下载运行的全过程。
三、主要步骤
1. 安装 Keil MDK
双击安装包,按提示完成安装。安装完成后打开 Keil μVision IDE。
2. 安装器件支持包
通过 Pack Installer 安装 STM32F1xx DFP(Device Family Pack),或从 ST 官网下载安装。
3. 新建工程
- 点击 Project → New μVision Project
- 选择芯片型号:STM32F103C8
- 在弹出的 Manage Run-Time Environment 中选择需要的组件(或直接跳过,手动添加文件)
- 添加启动文件
startup_stm32f10x_md.s和必要的源文件 - 编写
main.c程序
4. 配置魔法棒(Options for Target)
- Target → Xtal 晶振频率设为 8MHz
- Output → 勾选 Create HEX File(生成下载文件)
- Debug → 选择 ST-Link Debugger
四、示例程序
main.c
#include "stm32f10x.h"
void delay(uint32_t count)
{
uint32_t i;
for (i = 0; i < count; i++);
}
int main(void)
{
// 使能 GPIOC 时钟
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
// PC13 配置为推挽输出(板载 LED)
GPIO_InitTypeDef GPIO_InitStruct;
GPIO_InitStruct.GPIO_Pin = GPIO_Pin_13;
GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOC, &GPIO_InitStruct);
while (1)
{
GPIO_ResetBits(GPIOC, GPIO_Pin_13); // LED 亮
delay(1000000);
GPIO_SetBits(GPIOC, GPIO_Pin_13); // LED 灭
delay(1000000);
}
}
💡 这段代码怎么用?
- 第一行
#include "stm32f10x.h"引入固件库头文件,之后才能用GPIO_InitTypeDef等类型 - 操作 GPIO 的三步固定套路:①使能时钟 ②配置模式(Init) ③写引脚(SetBits/ResetBits)——缺一不可,忘使能时钟是新手最常见的错误
delay()是临时用的软件空循环,实验 14 会学到用 SysTick 做精确延时替代它
五、参考资料
| 资料 | 文件名 |
|---|---|
| 开发环境搭建 PPT | 开发环境的搭建.pptx |
| 开发软件安装指南 | 开发软件的安装.docx |
| 源码模板 | main函数源码.c |
| MDK 安装手册 | MDK5.14安装手册.pdf |
六、注意事项
⚠️ 常见问题
- 安装路径不要包含中文和空格
- USB 连接 ST-Link 后,检查设备管理器中是否识别到 STM32 ST-Link
- 如果下载失败,检查 Boot 跳线帽设置和供电是否正常