嗨害嗨

分类 随便看看 下的文章

25/4
2023

STM32从上手到剁手0x1

在高中的时候因为玩MWC飞控接触过Arduino,但是只是简单的修改代码中的参数,并没有了解单片机其中的工作原理还有开发流程,那时候也不知道单片机是个什么玩意,直到大学才感兴趣并学习它,许多人建议单片机应该从51学起,这样无不有道理,能从最底层的寄存器操作学习,将更能透彻理解计算机的运行方式和过程。本文适合有C语言基础,并熟悉软件安装和配置的同学。

需要环境

软件

Windows 7以上(本文使用Windows 10)

Keil 5 with ARM

相关驱动

软件下载:点击下载

环境安装参考此文章:点击浏览

硬件:

STM32F103ZET6

ST-Link

工程建立

首先不管以上安装的东西

先在工作目录新建一个名字为本次工程名称的文件夹

细节:由于软件是歪果仁开发的,使用英文环境,因此建议新建的目录和工程名以及相关文件都为英文,并且工作目录也为全英文,不然可能会出现蜜汁错误。

本文目录为LED_Demo
进入这个目录,新建以下文件夹

Q:为什么要这样建立文件夹呢?

A:STM32开发需要结构层次分明,每个模块的源代码文件对应目录,这样在开发时能清楚知道添加或移除一个外设或者一个模块在哪个位置,不会造成凌乱

目录说明:

CORE文件夹存放CPAL层的实现文件core_cm3.c和core_cm3.h以及一个启动文件

FWLib文件夹主要用于存放STM32的一些寄存器的定义及一些底层驱动函数,一般有两个子目录:inc和src

HARDWARE文件夹存放外设硬件的驱动函数文件,例如要控制LED就在此文件夹新建一个LED文件夹,并在文件夹里面存放和编写LED.c和LED.h

OBJ文件及存放编译过程文件和生成的二进制固件

SYSTEM存放STM32的一些必须文件

USER存放用户的工程文件,主函数文件,编译器配置文件,以及STM32的库函数

+ MORE