当前位置: 首页 > news >正文

快速掌握STM32工程创建

STM32 工程创建-- 使用Keil uVision5 软件
晓理紫

1 准备库函数库

STM32F10x_StdPeriph_Lib_V3.5.0
VX 搜索“晓丽紫”关注回复STM32F10x即可下载

2、创建一个目录用来存放工程

STM32Study

STM32Study/study1 存放本次工程目录

3、打开Keil uVision5 创建工程

在这里插入图片描述

4、选择型号(根据板子型号选择)

在这里插入图片描述

5、在工程中添加必要文件

5.1 、启动文件

启动文件位于库函数
STM32F10x_StdPeriph_Lib_V3.5.0\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm

在工程文件目录中创建文件目录Start把启动文件中的文件考到工程文件中

在这里插入图片描述

5.2 拷外设寄存器描述文件和时钟文件

位于STM32F10x_StdPeriph_Lib_V3.5.0\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x

也拷入到Start中

在这里插入图片描述

5.3 拷贝内存寄存器文件

位于 STM32F10x_StdPeriph_Lib_V3.5.0\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\CoreSupport

在这里插入图片描述

5.4 把必要文件加载到工程中

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

6、添加头文件路径

在这里插入图片描述

在这里插入图片描述

7、测试工程可用性

7.1 在工程中创建User存储main文件

创建组并改名为User

在这里插入图片描述

7.2 添加main文件

在这里插入图片描述

在这里插入图片描述

8、编写测试代码

#include "stm32f10x.h"                  // Device headerint main(void)
{while(1){}
}

9、错误处理

9.1 错误1

Build target 'Target 1'
Start/core_cm3.c(445): error: non-ASM statement in naked function is not supporteduint32_t result=0;

原因: 使用的编译版本太新

在这里插入图片描述

9.2 错误2

.\Objects\study2_1.sct(7): error: L6235E: More than one section matches selector - cannot all be FIRST/LAST.

原因:启动文件都加载进来了

在这里插入图片描述

当现实如图时工程可以使用了

在这里插入图片描述

10 debug,烧录调试

10.1 选择下降方式并设置下载复位执行

在这里插入图片描述
在这里插入图片描述

11、 使用库函数进行编程

11.1 拷贝库函数

创建Library目录并把\STM32F10x_StdPeriph_Lib_V3.5.0\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver中src以及inc中的文件拷入

11.2 像上面一样添加Library组

11.3 添加库函数头文件包含关系的文件以及中断函数

位于 STM32F10x_StdPeriph_Lib_V3.5.0\STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template 复制到User文件目录中

在这里插入图片描述

11.4 向上面一样加入头文件

11.5 添加宏定义

在这里插入图片描述

在这里插入图片描述

12、编译,下载到板子上运行

在这里插入图片描述

http://www.lryc.cn/news/153922.html

相关文章:

  • 如何利用开源工具搭建AI大模型底座
  • 算法笔记:二叉树
  • 1. 安装Zookeeper
  • warning: ignoring unsupported character ‘问题修复
  • 【Ant Design】Form.Item创建自定义表单
  • Vision Transformer(VIT 网络架构)
  • 数学建模--蒙特卡洛模型的Python实现
  • MySQL访问和配置
  • note_前端框架Vue的安装和简单入门(Windows 11)
  • SILERGY(矽力杰)功率电子开关 SY6280AAC
  • mysql char 和varchar的区别?
  • HttpClient默认重试机制
  • 论文于祥读及复现——《Multi-level Map Construction for Dynamic Scenes》
  • IDEA 报 Cannot resolve symbol ‘HttpServletResponse‘ 解决
  • linux-samba-window登不上
  • Java Web3J :使用web3j监听、查询、订阅智能合约的事件
  • C语言入门 Day_13 二维数组
  • 通过HFS低成本搭建NAS,并内网穿透实现公网访问
  • 【SpringMVC】工作流程及入门案例
  • 【JVM】垃圾收集算法
  • K8s的Pod出现Init:ImagePullBackOff问题的解决(以calico为例)
  • 数据结构 -作用及基本概念
  • 数学建模--时间序列预测模型的七种经典算法的Python实现
  • nginx-反向代理缓存
  • 大模型重塑区域人才培养,飞桨(重庆)人工智能教育创新中心正式启动
  • PAT 1164 Good in C 测试点3,4
  • LabVIEW对EAST长脉冲等离子体运行的陀螺稳态运行控制
  • Fragment
  • 哈希表-救赎金
  • vue3+vite+ts项目适配各种分辨率解决方案