当前位置:   article > 正文

江协科技STM32课程笔记 P1【1-2】 STM32简介_江协科技学习笔记

江协科技学习笔记

P1【1-2】 STM32简介

课程:江协科技【STM32入门教程-2023版 细致讲解 中文字幕】

https://www.bilibili.com/video/BV1th411z7sn?p=2&vd_source=fab7812fb8151b8746298fcfc057dbf4

资料下载:资料下载 (jiangxiekeji.com)

在这里插入图片描述

STM32简介

高性能版本
主流版本
低能耗版本
无线版本

ARM

在这里插入图片描述

片上资源/外设

在这里插入图片描述

片上资源又叫做外设,英文是peripheral,下面这个表里就是STM32F1系列的外设资源。
我们主要学习的就是STM32的外设,通过程序配置外设来完成我们想要的功能。在这个表中,前两个深颜色的是位于杠M3内核里面的外设,剩下的都是内和外的外设。

NVIC(嵌套向量中断控制器)
这个是内核里面用于管理中断的设备,比如配置中断优先级这些东西。

SysTick(系统滴答定时器)
这个是内核里面的一个定时器,主要用来给操作系统提供定时服务的。STM32是可以加入操作系统的,比如freertos UCOS等啊,如果用了这些操作系统,又需要SysTick提供定时,来进行任务切换的功能。这个我们可以用这个定时器来完成延时函数的功能。

(RCC是复位和时钟控制)
这个可以对系统的时钟进行配置,还有就是使能各模块的时钟。在STM32中,其他的这些外设在上电的情况下默认是没有时钟的,不给时钟的情况下操作外设是无效的,外设也不会工作,这样的目的是降低功耗。所以在操作外设之前必须要先使能它的时钟,这就需要我们用RCC来完成始终的使能。

GPIO(通用IO口)
我们可以用GPIO来点灯、读取按键等,这也是一个单片机最基本的功能。

AFIO(复用IO口)
它可以完成复用功能端口的重定义,还有中断端口的配置。

EXTI(外部中断)
配置好外部中断后,当引脚有电平变化时,就可以触发中断,让CPU来处理任务。

TIM(定时器)
这也是整个STM32最常用、功能最多的外设。TIM分为高级定时器、通用定时器、基本定时器三种类型,其中高级定时器最为复杂。常用的是通用定时器,这个定时器不仅可以完成定时中断的任务,还可以完成测频率、生成PWM波形,配置成专用的编码器接口等功能,像PWM波形就是我们电机驱动、舵机驱动最基本的要求了。

ADC(模数转换器)
这个STM32内置的12位的AD转换器可以直接读取IO口的模拟电压值,无需外部连接AD芯片使用,非常方便。

DMA(直接内存访问)
这个可以帮助CPU完成搬运大量数据这样的繁杂任务。

USART(同步或异步串口)
我们平时用的UART是异步串口的意思,这里的USART是既支持异步串口,也支持同步串口。当然我们实际还是用异步串口比较多。

IIC和SPI
是非常常用的两种通信协议,STM32也内置了它们的控制器,可以用硬件来输出时序波形,使用起来更高效。当然用通用IO口来模拟时序波形也是没有问题的。

CAN和USB通信协议
CAN通信一般用于汽车领域,USB我就不用多说了吧。生活中到处都是USB设备,利用STM32的USB外设,可以做一个模拟鼠标、模拟U盘等设备。

RTC实时时钟
在STM32内部完成年月日时分秒的计时功能,而且可以接外部备用电池,即使掉电也能正常运行。

CRC校验
是一种数据的校验方式,用于判断数据的正确性。有了这个外设的支持,进行CRC校验就会更加方便一些。

PWR
PWR电源控制可以让芯片进入睡眠模式等状态来达到省电的目的。
BKP备份寄存器,这是一段存储器,当系统掉电时,仍可由备用电池保持数据。这个根据需要可以完成一些特殊功能。

IWDG和WWDG(独立看门狗和窗口看门狗)
当单片机因为电池干扰死机或者程序设计不合理出现死循环时,看门狗可以及时复位芯片,保证系统的稳定。

DAC(数模转换器)
它可以在IO口直接输出模拟电压,是ADC模数转换的逆过程。

SDIO
是SD卡接口,可以用来读取SD卡。

FSMC
是可变静态存储控制器,可以用于扩展内存,或者配置成其他总线协议,用于某些硬件的操作。

USBOTG
是USB主机接口,用OTG功能可以让STM32作为USB主机。去读取其他USB设备。

以上就是STM32F1系列所有外设的大致介绍了。这是STM32F1整个系列的所有外设,并不是所有型号都拥有全部的外设,比如STM32F103C8T6的芯片就没有后面这四个外设,那具体有哪些外设,我们还要看一下对应的数据手册

在这里插入图片描述

命名规则

在这里插入图片描述

系统结构

在这里插入图片描述

理解方式

ICode 指令总线加载程序指令
DCode数据总线加载数据,例如常亮、调试数据等
System系统总线
Flash
SRAM用于存储程序运行时的变量数据
AHB系统总线(先进高性能外设)用于挂载主要的外设的
APB系统总线(一般性能外设)
DMA(直接访问内存)无需 CPU 干预直接读写内存

引脚定义

1、引脚图片

img

2、引脚定义图

img

img

img

img

img
tip:这个图片在 \参考文档\STM32F103C8T6引脚定义 有高清版本

下载地址:资料下载 (jiangxiekeji.com)

3、引脚功能介绍

3.1引脚定义图解释

上表中,S表示电源,IO表示输入输出,FT表示容忍电压可达5V,没有FT的只能达3.3V。

VBAT,备用电源引脚,当系统断电时,备用电源可给内部的RTC时钟和备份寄存器供电。

2号引脚,PC13-TAMPER-RTC,可以进行保护数据放在被读取

3-6号引脚,晶振输入

7号引脚,NTST,复位引脚

8、9号引脚:VSSA,VDDA,内部模拟部分电源,如ADC,RC振荡器,接3.3v。

10-19,21,22,25-33,41-43,45,46:IO口,

20号引脚,PB2,io口,或boot1引脚,可用来配置启动模式,同BOOT0,

23,24号引脚:VSS_1,VDD_1:系统的主电源口,同VSS_2/3,VDD_2/3,分区供电,都接上。

34,36,PA13:JTMS/SWDIO ,PA14:JTCK/SWCLK。SW两根下载调试端口,JT5根,

PA13,PA14,PA15,PB3,PB4,JT的5根调试端口,这5个口,一般不调用为IO口。

3.2常用功能引脚

STM32F103C8T6常用引脚的功能整理:

PA0-PA15: 16个通用I/O引脚,可用于输入/输出、外部中断、模拟输入等。

PB0-PB15: 16个通用I/O引脚,可用于输入/输出、外部中断、模拟输入等。

PC13-PC15: 3个通用I/O引脚,可用于输入/输出、外部中断等。

PD0-PD2: 3个通用I/O引脚,可用于输入/输出、外部中断等。

PE0-PE5: 6个通用I/O引脚,可用于输入/输出、外部中断等。

PF0-PF1: 2个通用I/O引脚,可用于输入/输出、外部中断等。

除了通用I/O引脚外,STM32F103C8T6还具有其他特殊功能引脚,如:

PA9/PA10: USART1的TX/RX引脚。
PA2/PA3: USART2的TX/RX引脚。
PA0/PA1: UART4的TX/RX引脚。
PB10/PB11: I2C2的SCL/SDA引脚。
PA4-PA7, PB0-PB1: 用于ADC模数转换器的模拟输入引脚

3.3常用引脚

晶振
3456号引脚口,时钟晶振引脚口,
PC14-OSC32_IN,PC15-OSC32_OUT,32.768kHz的晶振
OSC_IN ,OSC_OUT,8MHz的晶振。主晶振。

下载端口
PA13:JTMS/SWDIO
PA14:JTCK/SWCLK

串口
PA9,PA10:USART1_TX,USART1_RX
PA2,PA3:USART2_TX,USART2_RX

IIC
PB6,PB7:I2C1_SCL,I2C1_SDA
PB10,PB11:I2C2_SCL,I2C2_SDA

SPI
PA4,SPI1 NSS;PA5,SPI1 SCK,PA6,SPI1 MISO;PA7,SPI1 MOSI
PA12,SPI2 NSS;PA13,SPI2 SCK,PA14,SPI2 MISO;PA15,SPI2 MOSI

启动配置

一般为第一种,主闪存存储器模式。
系统存储器:做串口下载用,用来救急,当用SW/JT的下载引脚被调用完,就用串口下载。

如果你没有STLINK,也没有JLINK那就可以使用串口来下载程序

第三种,初学者一般也用不到,

最小系统电路

在这里插入图片描述

1、复位电路

​ 设计复位电路的目的是对芯片进行强制复位,使电路恢复到起始状态。其中NRST连接STM32芯片的复位引脚,查阅STM32芯片手册该复位引脚为低电平复位。该复位电路由两种工作方式:第一种是接入电源的一瞬间上电复位,第二种是手动按键复位。

上电复位原理:接上电源瞬间,电容C7等效于短路,此时NRST点为低电位接地,STM32复位。当电容充电完成后,电容C1等效于开路,NRST点电位回升为高电平。

按键复位原理:按下按键KEY1,NRST点接地变为低电平,STM32复位。按键松开后,NRST点回升为高电平。

2、晶振电路

​ 外接晶振电路,采用的是32.768kHz(2^15)的外部低速晶振和8MHz的外部高速晶振。

设计原因:单片机的运行必须依赖稳定的时钟脉冲,由于单片机的内部时钟容易受外界干扰,所以需要外接晶振电路。

深入了解可以看这些文章

http://t.csdnimg.cn/7dWnd

http://t.csdnimg.cn/pBqj1

<到此第一节结束>

参考文章:

http://t.csdnimg.cn/74N0r江协科技/江科大-STM32入门教程-1.STM32简介、系统介绍、软件安装
http://t.csdnimg.cn/vIPS0STM32的外设介绍
http://t.csdnimg.cn/OIVbR【DMA】认识 DMA 及其工作流程(与传统CPU存取方式的区别)
http://t.csdnimg.cn/EfOQpSTM32F103C8T6引脚功能整理
http://t.csdnimg.cn/TV8hvSTM32F103C8T6芯片引脚定义及功能介绍
http://t.csdnimg.cn/7dWnd基于STM32的最小系统电路设计(STM32F103C8T6为例)
http://t.csdnimg.cn/n3Q8x基于STM32的最小系统电路设计(手把手零基础教学)
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小桥流水78/article/detail/935874
推荐阅读
相关标签
  

闽ICP备14008679号