STM32F103标准外设库—— 新建工程与库函数(四)

简介: STM32F103标准外设库—— 新建工程与库函数(四)

新建工程

版本说明:MDK5.15 (MDK 即 KEIL 软件)

版本号可从 MDK 软件的“Help–>About uVision”选项中查询到。

1.新建本地工程文件夹

       为了工程目录更加清晰,我们在本地电脑上新建一个“工程模板”文件夹,在它之下再新建 6 个 文件夹,具体如下:

注意:框里的俩个文件编译可以自动生成,无需创建

在本地新建好文件夹后,把准备好的库文件添加到相应的文件夹下:

2.新建工程

       打开 KEIL5,新建一个工程,工程名根据喜好命名,我这里取 Template(中文是模版的意思),保存在 ProjectRVMDK(uv5)文件夹下。

(1)选择 CPU 型号

       这个根据你开发板使用的 CPU 具体的型号来选择,M3 旗舰版选 STM32F103ZE 型号。如果这里 没有出现你想要的 CPU 型号,或者一个型号都没有,那么肯定是你的 KEIL5 没有添加device 库, KEIL5 不像 KEIL4 那样自带了很多 MCU 的型号,KEIL5 需要自己添加。

       要想获得 KEIL5 的安装包,在百度里面搜索“KEIL5 下载”即可找到很多网友提供的下载文件, 或者到 KEIL 的官网下载:https://www.keil.com/download/product/,一大堆注册非常麻烦。建议使用最新或者靠近最新版本都可以。

       在官网中找到 STM32F1、STM32F4、STM32F7 这 3 个系列的包下载到本地电脑,具体下载哪个 系列的根据你使用的型号下载即可,这里我只下载我自己需要使用的 F1/4/7 这三个系列包,F1 代表 M3,F4 代表 M4,F7 代表 M7。

       到这里 KEIL5 就安装完毕。要特别注意的是 KEIL5 的安装目录不能跟其他版本的 KEIL 冲突,如 果冲突了则卸载后重新安装。最后还要记得安装 STM32 芯片包。

keil 官网对芯片包下载页面进行升级,下载更方便,对于新的芯片包下载页面:https://www.keil. arm.com/devices/

(2)添加组文件夹

       在新建的工程中添加 5 个组文件夹,用来存放各种不同的文件,文件从本地建好的工程文件夹下获取,双击组文件夹就会出现添加文件的路径,然后选择文件即可。

添加文件

       先把上面提到的文件从 ST 标准库中复制到工程模版对应文件夹的目录下,然后在新建的工程中添加这些文件,双击组文件夹就会出现添加文件的路径,然后选择文件即可。

3.配置魔术棒选项

       这一步的配置工作很重要,很多人串口用不了 printf 函数,编译有问题,下载有问题,都是这个 步骤的配置出了错。

(1)基础配置

      (1) Target 中选中微库“Use MicroLib”,为的是在日后编写串口驱动的时候可以使用 printf 函数。

        (2) 在 Output 选项卡中把输出文件夹定位到我们工程目录下的“output”文件夹,如果想在编译 的过程中生成 hex 文件,那么把 Create HEX File 选项勾上。

        (3) 在 Listing 选项卡中把输出文件夹定位到我们工程目录下的“Listing”文件夹

       (4) 在 C/C++ 选项卡中添加处理宏及编译器编译的时候查找的头文件路径。如果头文件路径添加有误,则编译的时候会报错找不到头文件。

       在这个选项中添加宏,就相当于我们在文件中使用“#define”语句定义宏一样。在编译器中添加宏的好处就是,只要用了这个模版,就不用源文件中修改代码。

(2)编译配置

       本教程Debug 中选择 CMSIS-DAP Debugger,Utilities 选择 Use Debug Driver

(3)选择 CPU 型号

目录
相关文章
|
5月前
使用STM32F103标准库实现定时器控制LED点亮和关闭
通过这篇博客,我们学习了如何使用STM32F103标准库,通过定时器来控制LED的点亮和关闭。我们配置了定时器中断,并在中断处理函数中实现了LED状态的切换。这是一个基础且实用的例子,适合初学者了解STM32定时器和中断的使用。 希望这篇博客对你有所帮助。如果有任何问题或建议,欢迎在评论区留言。
386 2
|
4月前
stm32f407探索者开发板(十七)——串口寄存器库函数配置方法
stm32f407探索者开发板(十七)——串口寄存器库函数配置方法
646 0
|
4月前
|
芯片
stm32f407探索者开发板(十二)——Systick滴答定时器-延时函数讲解
stm32f407探索者开发板(十二)——Systick滴答定时器-延时函数讲解
222 0
|
5月前
|
IDE 开发工具
使用STM32F103标准库实现自定义键盘
通过本文,我们学习了如何使用STM32F103标准库实现一个简单的自定义键盘。我们首先初始化了GPIO引脚,然后实现了一个扫描函数来检测按键状态。这个项目不仅能够帮助我们理解STM32的GPIO配置和按键扫描原理,还可以作为进一步学习中断处理和低功耗设计的基础。希望本文对你有所帮助,祝你在嵌入式开发的道路上不断进步!
482 4
|
5月前
|
传感器
【经典案例】STM32F407使用HAL库配置I2C详解
STM32F407是一个强大的微控制器,广泛应用于嵌入式系统中。在许多应用中,我们需要使用I2C总线来与传感器、EEPROM、显示屏等外设进行通信。本文将详细介绍如何使用STM32 HAL库来配置和使用I2C接口。
621 2
|
5月前
|
存储 数据采集 数据安全/隐私保护
使用STM32F103读取TF卡并模拟U盘:使用标准库实现
通过以上步骤,你可以实现用STM32F103将TF卡内容变成U盘进行读取。这种功能在数据采集、便携式存储设备等应用中非常有用。如果你有更多的需求,可以进一步扩展此项目,例如添加文件管理功能、加密存储等。希望这篇博客能帮到你,如果有任何问题,欢迎在评论区留言讨论!
201 1
|
4月前
|
传感器 编解码 API
【STM32开发入门】温湿度监测系统实战:SPI LCD显示、HAL库应用、GPIO配置、UART中断接收、ADC采集与串口通信全解析
SPI(Serial Peripheral Interface)是一种同步串行通信接口,常用于微控制器与外围设备间的数据传输。SPI LCD是指使用SPI接口与微控制器通信的液晶显示屏。这类LCD通常具有较少的引脚(通常4个:MISO、MOSI、SCK和SS),因此在引脚资源有限的系统中非常有用。通过SPI协议,微控制器可以向LCD发送命令和数据,控制显示内容和模式。
143 0
|
6月前
|
传感器
STM32标准库ADC和DMA知识点总结-1
STM32标准库ADC和DMA知识点总结
|
5月前
|
开发者
【经典案例】使用HAL库配置STM32F407的SPI外设
在嵌入式系统开发中,STM32F407是一款广泛应用的微控制器,而SPI(Serial Peripheral Interface)是一种常用的通信接口。本文将详细介绍如何使用STM32的硬件抽象层(HAL)库配置STM32F407的SPI外设,并提供完整的代码示例。
514 1