[其他ST产品] STM32学习笔记

[复制链接]
 楼主| 米多0036 发表于 2024-1-22 16:36 | 显示全部楼层 |阅读模式
一、STM32简介
STM32 是ST公司基于ARM Cortex-M 内核开发的32位微控制器(Microcontroller)
STM32 常应用在嵌入式领域,如智能车、四轴飞行器、机器人、无线通信、物联网、工业控制、娱乐电子产品等
STM32功能强大、性能优异、片上资源丰富、功耗低,是一款经典的嵌入式微控制器
51单片机是8位,而STM32是32位的,性能更优
STM32F103C8T6芯片示例如下:
34465ae28e0bba4d.png

使用软件

Keil5 MDK


9421565ae28f063737.png


书签工具 8135265ae29124bf5e.png


 楼主| 米多0036 发表于 2024-1-22 16:37 | 显示全部楼层
片上资源 / 外设
通过程序配置外设,来完成我们想要的功能
8142165ae292d50167.png
 楼主| 米多0036 发表于 2024-1-22 16:37 | 显示全部楼层
NVIC:永不管理中断的设备,比如配置中断优先级
SysTick:系统滴答定时器,是系统内核里的一个定时器,只要用来给操作系统提供定时服务,完成任务切换的功能、Delay函数的功能
RCC:复位和时钟控制,对系统的时钟进行控制,完成各模块的功能
GPIO:通用的IO口,可以用来点灯,读取按键等
AFIO:复用IO口,完成复用功能端口的重定义、中断的端口配置
EXIT:外部中断,当引脚有电平变化时,就可以触发中断,让CPU来处理任务
TIM:定时器,是外设中用到的最多的设备,,TIM分为高级定时器、通用定时器(常用)、基本定时器三种类型。通用定时器是最常用的定时器,它不仅可以完成定时中断的任务还可以完成测频率、生成PWM波形(电机驱动、舵机驱动最基本的要求)、配置成专用的编码器接口等功能
ADC:模数转换器,STM32内置了12位的AD转换器,可以直接读取IO口的模拟电压值,无需外部链接AD芯片,使用方便
DMA:直接内存访问,帮助CPU搬用大量数据这样的繁杂任务
USART:同步或异步串口,平常使用的UART是异步串口的意思,这里的USARTF是既支持异步串口,也支持同步串口,实际生活中异步串口比较多
IC2和SPI:是常用的两种通信协议,STM32页内置了他们的控制器,可以用硬件来输出时序波形,使用起来更高效。
CAN和USB:都是通信协议,CAN一般用于汽车领域。利用这个STM32的USB外设,可以做模拟鼠标、模拟U盘等设备
RTC:是实时闹钟,在STM32内部完成年月日、时分秒的计时功能,而且可以接外部备用电池,即使掉电也能正常运行
CRC校验:是一种数据的校验方式,用于判断数据的正确性
PWR:电源控制,可以让芯片进入睡眠模式等状态,来达到省点的目的
BKP:备份寄存器,这是一段存储器,当系统掉电时,仍可由备用电池保持数据,根据需要可以完成特殊功能
IWDG和WWDG:是独立看门狗和窗口看门狗,当单片机因为电磁干扰死机或者程序设计不合理出现死循环时,看门狗可以及时复位芯片,保证系统的稳定
DAC:数模转换器,它可以在IO口直接输出模拟电压,是ADC模数转换的逆过程
SDIO:是SD卡接口,用来读取SD卡
FSMC:可变静态存储控制器,可以用于扩展内存,或者配置成其他总线协议,用于某些硬件的操作
SPI:用OTG功能,可以让STM32座位USB主机去读取其他USB设备
 楼主| 米多0036 发表于 2024-1-24 00:10 | 显示全部楼层
命名规则 9203665afe506e89a9.png
 楼主| 米多0036 发表于 2024-1-24 00:11 | 显示全部楼层
芯片的系统结构
4225465afe524ce1cc.png
 楼主| 米多0036 发表于 2024-1-24 00:11 | 显示全部楼层
5、引脚定义
在得知芯片的引脚定义时就大概知道该芯片应该怎么使用。一般的都会在数据手册中给出相关使用。如STM32F103C86T芯片引脚如下所示,黑点位置为1号引脚,依次逆时针进行编号。大概有如下这么几类:

电源相关的引脚
最小系统相关的引脚
IO口,功能口这些引脚
 楼主| 米多0036 发表于 2024-1-24 00:11 | 显示全部楼层
引脚类型如下:

S代表电源
I代表输入
O代表输出
IO代表输入输出
IO口电平代表IO口所能容忍的电压,FT代表能容忍5V的电压,无FT的只能容忍3.3V电压,当没有FT但需要容忍5V电压 的时候就需要加装电平转换电路了
3271065afe546dbf48.png
 楼主| 米多0036 发表于 2024-1-24 00:12 | 显示全部楼层
启动配置
启动配置其实就是BOTT0和BOTT1 两根引脚的功能,
这个启动配置的作用就是指定程序开始运行的位置,一般情况下,程序都是在Flash程序存储器开始执行,但是在某些情况下,我们也可以让程序在别的地方开始执行,用以完成特殊的功能


606965afe5614ec0c.png
 楼主| 米多0036 发表于 2024-1-24 00:12 | 显示全部楼层
7、最小系统电路
在知道芯片的引脚功能之后,就需要为它连接最基本的电路,这些最基本的电路就是最小系统电路。如下图所示
944765afe57391b3a.png
 楼主| 米多0036 发表于 2024-1-24 00:12 | 显示全部楼层
三、软件安装及新建工程
1、软件安装
资料下载:https://pan.baidu.com/s/1SqKyKr5Fsl_9gBJi8aVxTw,提取码:8kzh,链接里压缩包的解压密码:32

安装步骤:https://blog.csdn.net/qq_53810245/article/details/123674836

安装器件支持包
软件注册
安装STLINK驱动
安装USB转串口驱动
 楼主| 米多0036 发表于 2024-1-24 00:13 | 显示全部楼层
2、建立STM32工程

9489965afe58aef689.png
 楼主| 米多0036 发表于 2024-1-24 00:13 | 显示全部楼层
 楼主| 米多0036 发表于 2024-1-24 00:13 | 显示全部楼层
详细步骤如下:
1546765afe5a1a0e69.png
 楼主| 米多0036 发表于 2024-1-24 00:13 | 显示全部楼层
在本地新建一个文件夹STM32Project,打开Keil5软件新建工程于该文件夹下
6260665afe5aec0cf6.png
 楼主| 米多0036 发表于 2024-1-24 00:13 | 显示全部楼层
选择芯片型号,点击OK
4993965afe5be853e6.png
 楼主| 米多0036 发表于 2024-1-24 00:14 | 显示全部楼层
进入资料中的如下路径
6125865afe5ccd949f.png
 楼主| 米多0036 发表于 2024-1-24 00:14 | 显示全部楼层
 楼主| 米多0036 发表于 2024-1-24 00:14 | 显示全部楼层
 楼主| 米多0036 发表于 2024-1-24 00:14 | 显示全部楼层
将上述文件拷贝至新建Start文件夹下

9539265afe5f681adb.png
 楼主| 米多0036 发表于 2024-1-24 00:15 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则

136

主题

1429

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部