学习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区的子类别.

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

相关推荐
hongmai6668887 小时前
FH8856V310芯片详解:6M高清+0.5TOPS算力,赋能智能安防新方案
人工智能·单片机·嵌入式硬件·物联网·智能家居
心中有国也有家9 小时前
AtomGit Flutter 鸿蒙客户端: ChangeNotifier 模式
学习·flutter·华为·harmonyos
取地址符9 小时前
C++学习笔记(基于learn-cxx)(1)
c++·经验分享·笔记·学习
三易串口屏10 小时前
串口屏是什么
单片机·嵌入式硬件
恣逍信点10 小时前
主观是客观的聚焦
人工智能·学习·程序人生·生活·业界资讯·交友·哲学
打球她不香吗11 小时前
本周ALLegro学习内容的总结
学习·allegro
其实防守也摸鱼12 小时前
蓝队相关知识学习(1)---常用堡垒机和服务器
服务器·功能测试·学习·网络安全·网络攻击模型·攻防对抗·蓝队
冰可乐配12 小时前
fmpeg音频编码组件aac(Advanced Audio Coding (AAC) encoder)学习
学习·音视频·aac
冰茶丿12 小时前
嵌入式安全第一关:Secure Boot是怎么保护你的设备的?
嵌入式硬件·安全
憧憬成为java架构高手的小白12 小时前
MySQl学习
学习