IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 【STM32】新建工程模板及配置 -> 正文阅读

[嵌入式]【STM32】新建工程模板及配置

系列文章目录

·【STM32】新建工程模板及配置

·【STM32】STM32与PC端、HC-06、ROS进行USART串口通信

·【STM32】STM32F103C8T6+L298N通过PWM控制直流电机转速


目录

系列文章目录

前言

一、开发环境搭建

1.创建工程文件夹

(1)分类方法一(建议新手使用)

(2)分类方法二(更加方便管理)?

2.新建工程

?3.开发环境配置

(1)Target配置

?(2)Output配置。

(3) C/C++配置

(4)Debug配置

二、程序烧录配置

总结


前言

在我们新建一个工程项目时,需要做很多的初始化配置,这些配置比较繁杂,记不清楚也容易出错,我在这里记录一下详细的配置过程。


一、开发环境搭建

1.创建工程文件夹

为了方便我们项目工程的管理,我们一般先创建一个工程文件夹,将我们在开发过程中用到的文件和写的函数分类别的放入项目文件夹,方便我们的管理和修改。

工程文件夹的分类方法有很多,我以其中两种为例。

(1)分类方法一(建议新手使用)

第一种分类方法如图所示,创建五个文件夹分别存放不同类型的文件。?

Libraries:库文件,下分两部分文件,第一部分是CMSIS,存放启动文件和core文件;第二部分是inc和src存放外设程序的源码和头文件

?下面是各个部分文件均来源于官方固件库

?

?

?

?Output:存放项目的输出文件,主要是.hex文件的输出路径,不需要复制文件到这,在项目中进行相应配置即可。

Project:存放项目,在创建项目时将存放路径选择在这。

SYS:存放一些我们自己写的经常用的宏定义和常用函数,比如:delay函数、定时器初始化函数、sys位带操作的文件。

User:存放主函数、我们自己写的文件以及库中少部分文件,其中需要在库中复制的文件如下图所示。

最下面的system_stm32f10x.c文件在之前我们已经?添加过了,这里不添加也可以。

(2)分类方法二(更加方便管理)?

第二种分类方法如图所示,对文件进行了更详细的分类,下面分别介绍。

CORE:存放内核相关文件和启动文件

?HARDWARE:存放我们自己写的一些硬件文件,这些功能一般是STM32直接支持的,比如图中这些功能。

?MBOT:这个文件夹可以以自己的项目来命名,主要存放我们开发这个项目中自己写的独特的文件,比如我这里的编码器函数、小车方向控制函数等。

OBJ:主要存放输出文件和.hex文件,相当于上面的Output文件夹。

STM32F10x_FWLib:存放外设相关的头文件和源文件。

SYSTEM:功能同上述SYS

USER:主要存放主函数、以及库中部分文件,具体见下图。

?

?上位机:这里主要是存放了我在调试工程中使用到的上位机程序。

下面的步骤以分类方法二为例,分类方法一只是在“品字形”中的配置不同,在“魔术棒”设置中的设置相同。

2.新建工程

打开keil5,点击菜单栏project,点击New uVision Project创建一个新项目,填写项目名并选择上面所述的项目存放路径,点击确定。

?选择自己单片机对应的型号,可以通过搜索栏搜索,也可以展开进行选择,我以STM32F103C8T6为例,下面弹出的对话框直接点取消即可。

?点击“品”字形图标添加我们需要用到的文件,注意这里添加的都是源文件(.c),因为头文件在编译时,我们包含相应的路径后,.h文件会自动添加到相应的源文件分级下。

?

?3.开发环境配置

点击“品”字形旁边的“魔术棒”,打开设置。

(1)Target配置

?

?(2)Output配置。

(3) C/C++配置

在define中需要加这两句话,它们用逗号分隔,第一句是使用标准外设,第二句要选择自己单片机Flash对应的大小,在数据手册中可以查到。

USE_STDPERIPH_DRIVER,STM32F10X_MD

?头文件路径要添加全,凡是include包含的头文件路径都要添加进去。

(4)Debug配置

?第二步是配置仿真环境,具体的修改需要根据自己单片机的型号进行具体查找,查找方法如下图所示。

先在File中选择Device Database选项。

选择自己单片机的型号,记住SIM这句话,其中的第二部分中,将 DARMSTM.DLL 填在左侧的软件仿真的Dialog DLL中,将 -pSTM32F103C8 填在Parameter中。右侧的硬件仿真只需要将DARMSTM.DLL的“D”改为“T”。

?到此我们的配置完毕,可以编译一下观察变化。

二、程序烧录配置

程序烧录方法传送门

?点击“魔术棒”,在Debug中选择自己使用的烧录硬件,比如ST-Link,点击Settings进行设置。

?

?如果没有显示设备信息,绝大多数原因是接线错误!要仔细检查接线,看一下单片机上SW/JSAG端口的引脚名,与ST Link对应,VCC GND SWCLK SWDIO 这四根线要对应正确。


总结

至此开发环境的配置完毕,可以开始愉快的写代码了!

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-02-09 20:51:47  更:2022-02-09 20:53:27 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 10:32:22-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码