Stm32_开发环境搭建寄存器&Hal库


提示:以下是本篇文章正文内容,下面案例可供参考

一、寄存器版本

二、Hal库版本

2.1新建工程文件夹

创建一个空文件夹,添加五个空文件夹如下。
在这里插入图片描述
Drivers:存放与硬件相关驱动层,新建一个BSP空的文件夹,其余三个从固件包中复制。
在这里插入图片描述
在这里插入图片描述
Middlewares:存放中间层组件代码,如USMART、MALLOC、TEXT、USB等,暂不用,留空文件夹
Output:存放编译工程输出文件,如.hex、.bin、.o等,留空文件夹
Projects:存放编译器工程文件,创建空文件夹MDK_ARM
在这里插入图片描述
Users:存放用户编写代码,HAL库配置文件、main.c、中断处理等。从固件库获取这三个文件夹。
在这里插入图片描述

2.2新建工程框架

在这里插入图片描述
打开MDK5,新建工程,连接到Project中MDK_ARM中,自己选择命名。选择Pack包,没有需要下载。删除掉MDK_ARM文件夹中的Listings和Objects文件夹
在这里插入图片描述

2.3 添加文件夹

在这里插入图片描述

2.3.1设置工程名和分组名

工程名:Template
分组名:Startup、User、Drivers/System、Drivers/STM32F1xx_HAL_Driver、Readme
选择三个小箱子或者右键更改
在这里插入图片描述
修改分组如下
在这里插入图片描述

2.3.2 添加启动文件

Drivers\CMSIS\Device\ST\STM32F1xx\Source\Templates\arm文件夹下的Start文件
在这里插入图片描述

2.3.3添加User源码

在新建User文件夹中添加stm32f1xx_it.c
Drivers\CMSIS\Device\ST\STM32F1xx\Source\Templates下找到system_stm32f1xx.c
在这里插入图片描述

2.3.4添加SYSTEM源码

在Drivers\SYSTEM文件夹中添加三个文件夹中的.c
在这里插入图片描述

2.3.5添加STM32F1xx_HAL_Driver源码

在Drivers\STM32F1xx_HAL_Driver\Src选择HAL库源码。\Drivers\STM32F1xx_HAL_Driver为只读属性,可右键选择取消只读属性。
在这里插入图片描述

2.4 魔术棒设置

在这里插入图片描述

2.4.1 Target选项卡

选择晶振
在这里插入图片描述

2.4.2 Output选项卡

勾选创建Hex,选择输出文件夹为Output,存放编译文件
在这里插入图片描述

2.4.3 Listing

选择输出文件夹为Output
在这里插入图片描述

2.4.4 c/c++文件夹

全局宏定义逗号为英文。
宏USE_HAL_DRIVER使用头文件
在这里插入图片描述
宏STM32F103xE使用头文件
在这里插入图片描述

在这里插入图片描述
头文件路径添加如下:
在这里插入图片描述

2.4.5 Debug选项卡

右上选择仿真器类型后点击Setting
在这里插入图片描述
下图为STlink仿真设置,需要下载STlink驱动,可选择JTAG或者SW都可以
在这里插入图片描述

2.4.6 Utilities设置

勾选Use Debug Driver后选择Setting
在这里插入图片描述
在Setting中勾选Reset and Run复位后可运行代码,选择512K
在这里插入图片描述

2.5添加Main.c编辑代码

创建新文件后保存至Users文件夹中,然后在工程文件夹中添加main(单击两下User或者点击小盒子添加)
在这里插入图片描述
在这里插入图片描述

2.6 如何链接新的.c和.h文件

1.在DRIVE文件夹中新建BSP,然后创建一个LED文件夹
在这里插入图片描述
2.返回MDK5
CTRL+N 新建.c和.h文保存在TIM6中
3.将.c和.h添加到工程中
点击第二个工程分组
在这里插入图片描述
在Groups中创建BSP分组,点击OK,然后返回工程目录中
在这里插入图片描述
在工程目录中双击BSP文件后在这里插入图片描述
弹出如下,索引到BSP的tim6.c文件后即可书写我们的.c代码在这里插入图片描述
4.设置.h和.c文件固定框架

#ifndef __TIM6_H
#define __TIM6_H
#include "./SYSTEM/sys/sys.h"
/*书写函数声明块*/
#endif
#include "./BSP/TIM6/tim6.h"  

至此,框架已经创建完毕,可以书写代码

3 补充

复制keikill文件,处理Output文件后剩余一个hex
在这里插入图片描述

总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 水星STM32F767HAL库例程是指在水星开发板上使用STM32F767芯片的HAL库编写的示例代码。在STM32F767芯片的开发中,HAL库是官方提供的驱动库,它封装了底层硬件操作的接口,提供了一系列的函数和功能,方便开发者进行快速开发。 水星STM32F767HAL库例程提供了一些常见的功能示例,比如GPIO口的使用、定时器的配置、中断的处理、串口通信等。通过这些例程,开发者可以了解和学习如何使用STM32F767芯片的HAL库进行开发。 在使用水星STM32F767HAL库例程时,首先需要搭建好开发环境,包括安装Keil、配置芯片型号和连接好开发板。然后,可以通过打开示例代码,看到代码中各个模块的使用方法和函数调用。可以根据自己的需求进行修改和调试,然后下载到开发板上进行运行。 例如,如果使用水星STM32F767HAL库例程中的GPIO口的示例,可以了解如何配置GPIO口的输入输出模式、上拉下拉电阻、中断等参数。通过修改示例代码中的相关参数,就可以实现自己的需求。 总体来说,水星STM32F767HAL库例程能够帮助开发者快速上手STM32F767芯片的开发,提供了一个学习和实践的平台。通过学习和理解这些例程,开发者可以更好地掌握STM32F767芯片的HAL库的使用,为自己的开发项目提供快速的开发和调试,降低开发成本。 ### 回答2: 水星STM32F767HAL库例程是指在使用水星STM32F767开发板的过程中,利用HAL库提供的函数进行硬件操作的示例程序。HAL库是STMicroelectronics公司为STM32系列微控制器提供的一套硬件抽象层库,它封装了底层的寄存器操作,简化了编程过程,提高了开发效率。 水星STM32F767HAL库例程包括了很多实例,可以根据需要选择不同的例程进行参考和学习。例如,GPIO例程可以用来学习如何配置GPIO口的输入输出模式和电平状态;USART例程可以用来学习如何配置串口通信并实现数据的发送和接收;TIM例程可以用来学习如何配置定时器并实现定时中断等。 通过参考水星STM32F767HAL库例程,开发者可以快速了解和掌握STM32F767开发板的硬件资源和HAL库的使用方法。可以根据自己的需求对例程进行修改和扩展,实现各种功能和应用,如LED闪烁、按键检测、LCD显示以及各种外设的控制等。 总之,水星STM32F767HAL库例程是学习STM32F767开发和应用的重要参考资料,通过实际操作和实验,开发者能够更好地理解和掌握STM32F767系列微控制器的开发和应用技巧,为自己的项目开发打下坚实的基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值