描述
课程来自百问网:https://www.100ask.net
STM32F103C8 开发板开发步骤
上手思路
-
芯片原厂下载资料:《数据手册(Product Specifications)》、《参考手册(Reference Manuals)》,如 st 官网
-
下载公板或者其它开发板配套资料:原理图,一般卖家会根据硬件送配套的原理图。
-
根据《原理图》分析硬件,如最小系统
-
根据示例程序和《参考手册》编写程序
最小系统
用最少得电路组成单片机可以工作的系统,一般包括
-
单片机芯片
-
电源电路
-
时钟电路
-
复位电路
-
启动选择电路
-
调适下载
单片机开发方式
-
使用汇编操作寄存器:执行效率高,兼容性差,编程效率低
-
使用 c 语言操作寄存器:执行效率适中,兼容性差,编程效率适中
-
使用库开发(以 st 为例)
-
标准库(不维护):执行效率低,兼容性一般,编程效率高
-
HAL 库:执行效率低,兼容性好,编程效率高
搭建开发环境
安装开发工具:Keil
软件特点:编写代码自由度比较高,但是需要手动引入程序中使用到的库文件,需要自己有良好的代码架构能力。
安装完成后,需要下载对应板子 ROM
-
Devices 页面 Search 窗口搜索:STM32F103C8
-
选中 STM32F103C8 选项
-
下载 ROM ,此步骤会跳到官网(翻墙后才能访问?),然后下载
.pack
文件
-
安装
.pack
文件后即代表 ROM 安装完成
安装开发工具:STM32CubePrg
软件特点:有大量模板方法,写代码需要遵循代码格式写,st 公司提供软件,有很多可视化的操作。
将此工具生成的代码使用 Keil 打开
安装烧录工具:100ASK_STM32F103_Tools
百问网开发的 IDE 工具,用于向 STM32f103_MINI 开发板烧录固件
编写 LED 灯控制程序
需求:闪烁 LED 灯
应用版本:6.4.0
创建工程
-
File -> New Project
-
Part Number 中输入芯片名称 STM32F103C8
-
选中芯片后,点 Start Project
配置工程
-
找原理图中芯片控制 LED 的引脚,根据图可以看到引脚名称是 PA1
-
PA1 名称中:
-
P 为 peripheral,代表外围设备
-
A 为外围设备代号,比如 PA, PB, PC...
-
1 为引脚值,代表第 1 个引脚,可以根据 PA1 定位到特定引脚,定位引脚后就可以向此引脚输入/输出值了
-
在工程中,找到 PA1 引脚,设置属性为 GPIO_Output (代表输出点流)
-
进入 Project Manager 页,输入 Project Name,如 Code1_CreateProject,选择存放路径
-
设置 Toolchain / IDE 为 MDK-ARM (因为 Keil 为 MDK-ARM 项目)
-
IDE 左侧选择 Code Generetor 标签,Generated files 选中 Generate peripheral initialization as a pair of '.c/.h' files per peripheral 复选框,此功能可以将 c 文件和 h 文件分开
-
IDE 右上侧点击 GENERATE CODE
-
生成后可以点击弹窗的 Open Project 打开项目,也可以点击 Open Folder 打开目录,然后在 MDK-ARM 目录中打开
.uvprojx
文件(使用 Keil IDE 打开)
编程
-
点击左上角 Build 按钮(用于查找函数文档)
-
Keil IDE 中找到
main.c
文件
-
只能在
/* USER CODE BEGIN n */
与 /* USER CODE END n */
之前写代码,不然会被 STM32CubePrg 覆盖
-
找到
/* USER CODE BEGIN 3 */
,添加如下代码
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_1, GPIO_PIN_RESET); // 向 PA1 引脚写入 RESET 值HAL_Delay(1000); // 延迟 1000 毫秒HAL_GPIO_WritePin(GPIOA, GPIO_PIN_1, GPIO_PIN_SET); // 向 PA1 引脚写入 SET 值HAL_Delay(2000);
-
选中
HAL_GPIO_WritePin
函数,点击 F12 键,进入源码,查看函数各参数含义
烧录
-
点击 Build 编译程序
-
打开 IDE:
100ASK_STM32F103_Tools
,点击 “选择文件”,打开文件选择器
-
选择
path/to/Code1_createProject/MDK-ARM/Code1_CreateProject/Code1_createProject.hex
文件
-
点击开始下载,下载完成后,LED 灯会亮 1 秒然后灭 2 秒一直循环
打开APP阅读更多精彩内容