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单片机初学2-从Keil工程创建开始 -> 正文阅读

[嵌入式]STM32单片机初学2-从Keil工程创建开始

STM32开发环境有Keil,IAR,STM32CubeIDE等。本文将介绍在Keil环境下新建STM32工程,以供初学者参考学习。

一,Keil MDK安装

keil安装方法不详细介绍,按照步骤提示操作即可。目前最新版本是keil MDK5,也叫Keil uVision5。这里不建议软件汉化,因为汉化之后无法使用编码助手,非常不方便。

二,设备包的安装

不管在什么环境下开发单片机,新建工程时都会有一个选择设备的步骤,在这一步需要正确选择所使用的单片机型号,否则是无法下载程序的。由于keil还支持很多其他品牌的单片机,所以Keil软件本身是不带STM32的设备包(选择设备包时会发现没有设备可以选择,如下图),需要根据所使用的单片机型号自行安装设备包。

?所以keil MDK软件安装完成之后,首先需要安装设备库。设备库在Keil官网可下载,这里我使用的是F103型,所以下载F1xx_DFP,每个设备库都有历史版本,可根据需要选择。

下载完成之后,打开Keil软件,点击设备包安装:

?进入设备安装窗口,然后菜单栏选择File-Import,然后选择刚才下载的pack文件,点击打开,等待Pack安装。

?安装完成之后就可以看到STM32F1系列的单片机型号全在里面了(如下图)。实际上keil可以同时安装多个版本的设备包,但软件默认使用最新版本(如果想用旧版本,就点击Remove把新版本卸载)。这里我安装了2.4.0,2.3.0,2.2.0三个版本。之所以不用最新版本,是因为我的Keil版本与最新pack版本存在冲突,每次打开工程都会报错。实际情况因电脑而异,如果出现该情况,可尝试安装低版本Pack包。

安装完成之后关闭Pack Installer,会弹出窗口,提示是否需要需要重载设备,点击确定即可。

三,新建工程

新建工程步骤简单,在菜单栏选择Project -New Project,然后选择一个文件路径保存(最好不要带中文路径)。

?然后选择所使用的的单片机型号,这里我使用的是STM32F103C8T6,所以选择STM32F103C8,然后点击OK即可(若设备安装成功之后仍没有设备可以选择,则需要重启软件,再次新建工程即可选择对应的设备了。)。

?

选择设备之后,会弹出窗口,选择软件组成部分。这里的软件指的就是STM32的启动代码及标准外设库(例如ADC、GPIO、IIC等)。需要用到什么功能则将对应的库打钩添加进去。

对于初学者,建议将所有软件打勾,将所有软件添加进去,以免后期再去添加。后期需要添加的话则在该窗口选择即可。

为了方便后期的调试,在新建工程时应将各个功能的程序分类放置。例如,系统程序、外设库、个人程序分别放在单独的文件夹里。不同的功能也写在单独的.C程序中(如下可供参考)。

?项目开发时,常常需要对项目内容进行增减,就需要用到项目管理器(打开方式如下)。

?项目管理器,可以对每个文件夹里的内容及文件夹进行增删、修改、重命名等操作。不建议在电脑文件管理器里修改或者删除文件或者文件夹,这样做软件会报错。

完成上面一步后,还需要设置编译器。如下图在编译选项中点击“C/C++”,在Define中粘贴这句:USE_STDPERIPH_DRIVER,STM32F10X_MD ,然后在Include Paths中将工程中所有的文件夹路径一一添加进去。否则在头文件使用Define会报错。

?在编译选项中还需要设置一个仿真器,如下。

?使用的何种仿真器就选择什么,这里我使用的是ST-LInk。通过ST-LInk就可以通过软件直接将编译(F7)好的程序下载(F8)至单片机以及在线调试(Ctrl+F5)。

四,新建.C文件及.h头文件

工程创建之后,就可以开始写程序了。为了构建自己的工程框架,需要将不同的功能放在不同的.C程序中。在需要新建项目的文件夹上右击,选择“Add New item to Group 'xxxx'”.

?然后选择.C文件类型,命名后保存即可。

?然后项目文件夹中就出现了刚才的.c文件。Keil中程序中如果想要调用其他.c文件中的程序,还需要新建头文件。

假设我在刚才新建FirstItem的文件中写了两个函数ADD()和SUB()。

?如果我在主函数中直接调用这两个函数,会有警告,虽然可以通过编译,但是并不会把这两个子函数编译进去,所以单片机也就不会执行这个子函数。这就是因为没有头文件的原因。

?创建头文件:与.c文件相同的创建方式相同,选择.h文件类型,名称一般命名成与.c文件相同的名字。

?创建好了之后,需要在项目管理器中将刚才的.h文件添加到工程中。

在弹出的窗口中选择.h文件类型,然后选中创建的.h文件,添加即可。

?添加之后,FirstItem.h就能在工程中看到了。我们打开该文件

?

?然后在空白文件中写入程序

#ifndef _FIRSTITEM_H
#define _FIRSTITEM_H

函数1();

函数2();

#endif

里面的函数即FirstItem.c中声明的函数。如下图所示。

?这样,我想在哪个程序里调用FistItem里的函数(如ADD、SUB),只要在程序前#include <FistItem.h>即可,然后再调用ADD,SUB函数就可以了。

本文仅供参考,实际操作会有差异,如有错误,欢迎指出

?

?

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-04-06 23:22:24  更:2022-04-06 23:22:54 
 
开发: 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 4:24:33-

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