🔬 实验01:MDK 开发环境搭建

📌 实验目标
  • 掌握 Keil MDK-ARM 集成开发环境的安装方法
  • 学会新建 STM32 工程并配置
  • 掌握程序的编译、下载和调试方法
  • 完成第一个 STM32 程序——LED 闪烁

一、实验内容

  1. 安装 Keil MDK-ARM 开发环境
  2. 安装 STM32F1 器件支持包(DFP)
  3. 新建一个 STM32 工程
  4. 编写简单的 LED 闪烁程序
  5. 编译、下载并观察运行结果

二、实验原理

Keil MDK-ARM 是 ARM 公司推出的微控制器开发套件,提供 C/C++ 编译器、调试器和仿真环境。本实验通过建立最小工程,熟悉从编写代码到下载运行的全过程。

三、主要步骤

1. 安装 Keil MDK

双击安装包,按提示完成安装。安装完成后打开 Keil μVision IDE。

2. 安装器件支持包

通过 Pack Installer 安装 STM32F1xx DFP(Device Family Pack),或从 ST 官网下载安装。

3. 新建工程

  1. 点击 Project → New μVision Project
  2. 选择芯片型号:STM32F103C8
  3. 在弹出的 Manage Run-Time Environment 中选择需要的组件(或直接跳过,手动添加文件)
  4. 添加启动文件 startup_stm32f10x_md.s 和必要的源文件
  5. 编写 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);
    }
}
💡 这段代码怎么用?
  1. 第一行 #include "stm32f10x.h" 引入固件库头文件,之后才能用 GPIO_InitTypeDef 等类型
  2. 操作 GPIO 的三步固定套路:①使能时钟 ②配置模式(Init) ③写引脚(SetBits/ResetBits)——缺一不可,忘使能时钟是新手最常见的错误
  3. delay() 是临时用的软件空循环,实验 14 会学到用 SysTick 做精确延时替代它

五、参考资料

资料文件名
开发环境搭建 PPT开发环境的搭建.pptx
开发软件安装指南开发软件的安装.docx
源码模板main函数源码.c
MDK 安装手册MDK5.14安装手册.pdf

六、注意事项

⚠️ 常见问题
  • 安装路径不要包含中文和空格
  • USB 连接 ST-Link 后,检查设备管理器中是否识别到 STM32 ST-Link
  • 如果下载失败,检查 Boot 跳线帽设置和供电是否正常