STM32个人学习笔记(标准库)-2023.09.15

此前已经较为系统的学习了STM32的标准库,为了巩固基础,从头开始记笔记,计划一周的时间完成,然后进行HAL库的学习。

第一节 STM32简介

1.STM32是ST公司基于ARM-Cortex-M内核开发的32位微处理器,常应用于智能车、无人机、机器人等。

·STM32的功能强大、性能优异、片上资源丰富、功耗低。

2.STM32的片上资源/外设

NVIC:内核中用于管理中断的设备,例如配置中断优先级。

SysTick:内核中的定时器,为操作系统提供定时服务。

RCC:对系统的时钟进行配置,使能各个时钟。

GPIO:通用IO口。

AFIO:复用IO口。完成复用功能端口的重定义,中断端口的配置。

EXTI:外部中断。

TIM:定时器,整个STM32最常用,功能最多的外设。

TIM分为高级定时器、通用定时器、基本定时器三种类型。其中最常用的为通用定时器,不仅能完成中断任务,还能完成测频率、生成PWM波形等功能。

ADC:模数转换器。

DMA:直接内存访问,帮助CPU完成搬运大量数据等繁杂任务。

USART:同步或异步串口通信。

I2C/SPI:常用的两种通信协议,可以用硬件输出时序波形。

CAN/USB:通信协议。

RTC:实时时钟,STM32内部完成年月日、时分秒的计时功能。

CRC校验:数据的校验方式,用于判断数据正确性。

PWR:PWR电源控制,使芯片进入睡眠模式,达到省电目的。

BKP:备份寄存器,系统掉电时,仍可由备用电源保持数据。

IWDG/WWDG:看门狗,看门狗能够及时复位芯片,保证系统的稳定。

DAC:数模转换器,在IO口直接输出模拟电压。

SDIO:SD卡接口,读取SD卡。

FSMC:可变静态存储控制器,可用于扩展内存。

USB OTG:USB主机接口。

3.STM32的系统结构

其中,AHB系统总线的整体性能比APB高,而APB2的性能又高于APB1。

4.STM32F103C8T6的引脚定义

红色:电源相关引脚。蓝色:最小系统相关引脚。绿色:IO口、功能口等引脚。

FT:能够容忍5V电压。

5.STM32的启动配置

启动配置能够指定程序开始运行的位置,在STM32F10XXX里,可以通过BOOT【1:0】引脚选择三种不同的启动模式。

第二节 STM32新建工程

1.新建存放工程文件的文件夹

2.在KEIL中新建Project,并创建一个新的文件夹用于存放Project。

3.选择器件型号,这里使用的是STM32F103C8T6,故选择STM32F103C8。

4.打开固件库文件夹中的Libraries->CMSIS->DeviceSupport->ST->STM32F10X->startup->arm,其中的文件就是STM32的启动文件,复制所有的启动文件,回到工程模板文件夹,新建一个文件夹,命名为Start,将启动文件粘贴进文件夹内。

5.回到固件库的STM32F10X文件夹,将其中的三个文件复制下来,粘贴到Start文件夹内。

6.打开CM3->CoreSupport。将两个cm3文件粘贴到Start文件夹内。

7.回到Keil软件,将后缀为md.s的启动文件以及所有的.c和.h文件添加进Start组里。

8.在工程选项内添加文件夹的头文件路径。

点击魔术棒按钮,打开工程选项,在C/C++里找到Include Paths栏,点击右边三个点的按钮,新建路径将Start的路径添加进去。

9.新建一个User文件夹,再在Keil中添加一个新组,也叫User,在User中添加新文件,选择C文件,名称为main,并将下面的路径选择User文件夹。

10.为工程添加库函数。打开工程文件夹,新建一个文件夹取名为Library,用于存放库函数。

11.打开固件库中的Libraries->STM32F10x_StdPeriph_Driver->src。将其中的所有文件拷贝到Librar文件夹内。

12.打开固件库的inc文件夹,将其中的库函数头文件全选并拷贝到Librar文件夹内。

13.回到Keil软件,在Target处添加组,取名为Library。并将Library内的所有文件添加进去。

14.打开固件库文件夹中的Project->STM32Template。将其中的conf.h文件和两个it结尾的文件复制并粘贴到工程的User目录下。并在Keil中的User组中将这三个文件添加进去。

15.在STM32头文件右键打开文件,拖到最后,复制下面这段字符串,打开工程选项,在C/C++的Define栏目粘贴这个字符串,同时添加头文件路径。

至此,我们的库函数就配置完成了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值