学习Stm32 的第一天

第一:首先就是关于软件的安装

32的软件是keil MDK,并不是之前的Keil C51 ,然后关于后面激活的那些东西网上找就好了。

第二:软件的配置

首先要将支持包安装,不然在创建项目的时选不到芯片。

Keil5 MDK\支持包 ,其中的F1系列(以后是什么就是那个系列)

随后双击安装即可。然后这是离线安装,也可以在线安装,这里就要先不讲述了。

最后就是STLink驱动,在安装目录keil\ARM\STLink\USBDriver中有

是哪个系统选哪个就可以了。其他驱动直接在设备管理器里看有感叹号的地方,点击他会提示你安装。

第三:创建项目以及导入标准库函数

1.先创建好自己的文件夹,然后进入Keil中创建新的项目

随后在创建一个文件夹以存放本次的代码(名字随意即可)。

芯片型号选择STM中的STM32F103C8

添加必要文件

1.起动文件(stm32就是从启动文件开始执行的),固件库->STM32F10x_StdPeriph_Lib_V3.5.0->Libraries->CMSIS->CM3->DeviceSupport->ST->STM32F10x->startup->arm

上面的是文件的路径

然后把上面这些文件都复制下来。之前创建的项目文件夹里面已经自动生成一些东西了

在之前创建的项目文件夹创建一个Start文件夹,用于存放启动文件。然后还需要在其中放入外设寄存器描述文件(和51单片机的头文件性质一样)和内核寄存器描述文件。分别在之前的STM32F10x中的

和CM3下的CoreSupport文件夹里面

将上述的文件全部复制在statr文件夹中,启动文件就配置完成了。

最后将它复制在工程中就大功告成了。

在Keil中新建组,在把名字改成Start

再右键start导入已存在的文件(刚才start中的文件中的所有.c .h文件和startup_stm32f10x_md.s文件导入即可)

然后打开工程选项(魔术棒)->C/C++选项中include paths,把start的路径加进来

注:选择路径时一定要点进start文件夹里面一层去。

然后按照刚才的步骤新建一个User文件夹,里面放入mian.c文件

再将调试工程里面的Debug中的Use改为ST-Link Debugger。

随后添加库函数

先创建一个Library文件夹用来存放,在固件库\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver\src中全部复制过去

以及inc文件夹中的头文件也全部复制过来

随后在keil中添加Library以及其中的文件

最后还需要将三个文件加入User文件夹中,就是 固件库\STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template中的

图中的三个文件弄在工程中即可。

最后还差一个宏定义,先鼠标右键导入头文件

随后右键头文件打开

最底部8296行 USE_STDPERIPH_DRIVER 这一句

加在调试工程中的C/C++中Define这一行

最后还是将路径加入即可

这个小箱子的按钮可以移动目录的位置

我们可以将不用改的移动到最上方,这样比较好操作。

至此,stm32的标准库函数以及项目的创建完毕

注:main函数的最后一行必须留空(注释也不能有),否则调试会有一个警告。

这里就是以上全部内容了,视频是看的B站上江科大的(江协科技),资料也是它提供的,地址是:资料下载

Keil中的函数注释含义:

@brief <title>: 简要注释. 指该函数的简要介绍。

@param <name> <description>: 参数描述.

@retval <description>: 返回值描述.

@exception <name> <description>: 异常描述.

@see <name>: 参见. 具体用法详见 1.5.2

@see、@sa(参见) .@warning <text>: 警告.

@bug <text>: 警告.@name <title>: 组名. 用于给成员们分组, 既文档中Tasks区的子类别.

最后,如果你觉得这期对你有用,点个赞吧

相关推荐
恒锐丰小吕11 分钟前
矽塔 SA8883 6.0-45.0V 8A有刷直流电机驱动芯片技术解析
嵌入式硬件·硬件工程
HalvmånEver29 分钟前
Linux:基础开发工具(三)
linux·运维·服务器·开发语言·学习·gcc/g++
FAREWELL000751 小时前
Lua学习记录(1) --- Lua中的条件分支语句和循环语句
学习·lua
小马爱打代码2 小时前
Java学习笔记:注解详解
java·笔记·学习
FanXing_zl2 小时前
基于整数MCU的FOC电机控制深度解析:从浮点到定点的工程实践
单片机·嵌入式硬件·mcu·软件开发·定点计算
四维碎片2 小时前
【Qt】多线程学习笔记
笔记·qt·学习
点云SLAM2 小时前
Exhaustive英文单词学习
人工智能·学习·exhaustive·英文单词学习·雅思备课·全面的
浮游本尊3 小时前
React 18.x 学习计划 - 第八天:React测试
前端·学习·react.js
麦麦在写代码3 小时前
前端学习1
前端·学习
笨鸟笃行3 小时前
人工智能备考——2.1.1-2.1.5总结
人工智能·学习