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 ProjectPart 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 秒一直循环