Skip to main content

新建工程 点亮灯

点了这盏灯你就入门了!

up的视频讲解:

1 ✨在CubeMX中新建程序

  • 1 点击左上角file,选择new project
tips

第一次建立程序确保网络连接好

图片
  • 2 在左上角输入芯片型号,点击F103C8T6
图片
  • 3 选择F103C8T6,点击右上角的Start Project
图片
  • 4 简单介绍下:

左边是我们选择配置芯片外设的区域,右边是配置了外设后芯片引脚对应的状态

MCU之所以叫微控制器,就是它内部集成了丰富的外设 去控制与各个设备的交互,很显然物理上是通过 芯片的引脚 去连接,这也是为什么会分成这两部分的原因.

图片

2 🧭配置点灯程序

先跟着up操作,up下节课会详细从硬件到软件解释原理!

知识点

一款芯片的最小系统,通常包含以下:

  • 电源
  • 晶振
  • 复位
  • 下载
  • 1 配置串行烧录接口(SW),用于下载程序到STM32
图片
  • 2 配置时钟RCC,选择外部石英晶体振荡器(简称 晶振)

(对点灯来说可以不用外部时钟,up这里是想让大家形成习惯,在以后的项目中都需要用到这个)

图片
  • 3 在右侧配置引脚PC13GPIO_Output模式
图片
  • 4 点击上方的Project Manager
    • 输入工程名
    • 选择IDE工具为MDK
图片
  • 5 点击左侧Code Generator,
    • 选择仅复制必要的库文件 (不然文件会很大)
    • 选择为每个外设生成一对.c/.h文件 (不然都会放到main.c里)
图片
  • 5 点击右上方 GENERATOR CODE 生成代码然后打开项目,此时cube会打开之前选择的IDE工具
图片
  • 6 我们可以看到我们的MDK左侧就是 Cube生成的代码 ,简单介绍以下
    • Application/MDK-ARM 启动文件
    • Application/User/Core 用户代码(你写程序、main 函数、初始化都在这里)
    • Drivers/STM32F1xx_HAL_Driver 外设驱动
    • Drivers/CMSIS 内核代码
图片

3 写点灯代码

  • 1 打开main.c文件,往下翻找到main函数

(main函数是所有程序的入口 换句话说 所有程序都是在这里面按顺序执行的)

图片
  • 2 我们分析一下整个main函数,它分为了两个区域
    • 初始化区域 (程序从头开始执行一遍,进入循环后就一直在循环里了)
    • 无限循环区域 (程序在这里面不断循环)
图片
  • 3 细心的同学一定观察到,代码里面生成了很多一行一行的注释
    • CubeMX就是通过这样的方式去划分用户代码区间自动生成的代码区间
    • 含有USER CODE就是给用户写代码的区间
    • 其他的就是CubeMX管的区间 (写在这里面 生成代码的时候会被删掉)
图片
  • 4 我们在while里面写下以下程序:
  HAL_GPIO_WritePin(GPIOC,GPIO_PIN_13,0);

我们很容易理解这个代码:

  • HAL_GPIO_WritePin 就是写引脚的意思
  • GPIOC,GPIO_PINP13 就是PC13引脚
  • 0 就是输出低电平
图片

4 🔥编译并烧录程序

  • 1 选择编译器 点击左上方魔法棒,在弹窗中点击 Target,在右侧选择 Version 6 编译器,点击OK
图片
  • 2 编译 点击左上角编译图标的中间图标,没有errors则表示编译成功
    • 左边图标: 仅编译当前打开的文件
    • 中间图标: 编译被修改过的文件 (修改了少量代码时使用) 最常用
    • 右边图标: 强制编译所有文件 (修改了系统配置时使用)
图片
  • 3 选择下载器 点击左上方魔法棒,在弹窗中点击Debug,在左侧选择ST-Link
图片
  • 4 下载(烧录) 点击左上角下载图标
图片
🎊恭喜你点亮了第一盏灯🎊

你已经学习到了从搭环境到配置工程 写代码 编译下载的全部流程. 后面的课程周周会从软硬件深入的去讲解STM32,准备好了吗!

5 流水灯实验