【STM32】入门简介

【STM32】入门简介

前言

本篇以及之后有关stm32文章都是基于江协科技stm32教程学习,本人为单片机萌新,写文章旨在记录学习过程和笔记记录。如文章中出现错误或者不严谨的地方,欢迎大家指出 、交流。


一、STM32简介

  • STM32是ST公司基于ARM Cortex-M内核开发的32位微控制器
  • STM32常应用在嵌入式领域,如智能车、无人机、机器人、无线通信、物联网、工业控制、娱乐电子产品等
  • STM32功能强大、性能优异、片上资源丰富、功耗低,是一款经典的嵌入式微控制器
    本次课程采用的STM32F1系列,属于Mainstream.核Cortex-M3
    ARM公司设计ARM内核半导体厂商完善内核周边电路并产生芯片


二、STM32F103C8Tb

  • RAM:20k 描运行内存,实际存储价质是SRAM
  • ROM:64K指程序存储器,实际存储价质是Flash闪存
  • 供电:2.0-3.6v(标准3.3V) 区别于单片机的5v
  • 封装:LQFP48

三、片上资源/外设

  • NVIC:内核里面于管理中断的设备.例如配置中断优先级。
  • SysTick:用来给操作系统提供定时服务的,因为STM32可以加入FreeRTOSS,ucos等操作系统.利用SysTick提供定时进行任务切换的功能(本次课用SysTick完成Delay函数功能)。
  • RCC:复位和时钟控制,可以对系统的时钟进行配置,还使能各模块的时钟。在STM32中,外设上电后是默认没有时钟,无时钟,外设就无效。
  • GPIO:通用的IO口,进行点灯,读取按键等。
  • AFIO:完成复用功能端口的重定义,还有中断端口的置配。
  • EXIT:配置好外部中断后,当引脚有电平变化时,就可以触发中断,让CPU来处理任务。
  • TIM定时器:分为高级定时器,通用定时器,基本定时器,不仅可以完成定时中断的任务,还可以完成测频率,生成PWM波形,配置为专用编码器接口。
  • ADC:模数转换器,32内置了12位的AD转换器,可以直接读取IO口的模拟电压,无需外置。
  • DMA:直接内存访问,可以帮助CPU搬运大量数据这样的繁杂任务。
  • USART:同步/异步串口。
  • I2C/SPI:两种32常见的通信协议。
  • RTC:实时时钟,在32内部完成时,分,秒的计时功能.还可以接外部电池,即使掉电也能正常运行。
  • CRC:一种数据的检验方式,用于判断数据的正确性。
  • IWDG/WWDG:当单片机因为电磁干扰死机或者程序设计不合理出现死循环时,看门狗可以及时复位,保证系统的稳定。
  • DAC:是数模转换器,它可以在IO口直指输出模拟压。
  • OTG:让STM32作为USB主机去读取其它USB设备。


    STM32F103RCT6
    64引脚,,256k字节闪存,LQFP封装
    -40°C~85°C

四、系统结构


这是基于Cortex - M3内核的微控制器系统架构,各部分作用如下:

  1. Cortex - M3:处理器核心,负责指令执行、数据运算与系统控制,是整个系统的"大脑",决定运算处理能力 。
  2. 总线矩阵:作为系统内部数据传输的"交通枢纽",连接不同模块(如处理器、存储、外设),合理调度数据流向,保障各部分高效通信 。
  3. 存储相关
    • Flash接口与Flash 存储程序代码、常量数据,掉电数据不丢失,是程序"仓库" 。
    • SRAM :作为随机存取存储器,用于程序运行时临时存储数据、堆栈、变量等,掉电数据丢失,是程序运行的"临时工作台" 。
    • FSMC :灵活静态存储控制器,可外接各类静态存储设备(如Nor Flash、SRAM等),拓展存储及外设连接能力 。
    • SDIO:安全数字输入输出接口,用于连接SD卡等存储设备,实现外部大容量数据读写 。
  4. DMA(DMA1、DMA2):直接内存访问,无需处理器全程参与,可自主在内存与外设间传输数据,像"数据搬运工",减轻处理器负担,提升数据传输效率,比如快速搬运ADC采集数据、串口收发数据 。
  5. RCC(复位和时钟控制):为系统各模块提供稳定时钟信号,决定运行节奏;同时管理系统复位,异常时让系统回到初始状态,保障稳定运行 。
  6. 桥接(桥接1、桥接2):连接不同总线(如AHB与APB),适配总线协议、时序,让不同速度、协议的总线能协同工作,保障数据跨总线顺畅传输 。
  7. APB总线(APB1、APB2):外设总线,挂接各类外设,按不同性能需求分组(如APB1多接低速外设、APB2多接高速外设 ),方便管理与数据交互 。
  8. 外设(挂在APB总线下,如GPIO、ADC、定时器等)
    • GPIO(GPIOA - GPIOG等) :通用输入输出口,可配置为输入检测外部信号(如按键),或输出控制外设(如LED),是系统与外部硬件交互的"窗口" 。
    • ADC(ADC1 - ADC3) :模拟数字转换器,把外部模拟信号(如电压)转为数字量,供处理器处理,实现对物理世界模拟信号的数字化采集 。
    • 定时器(TIM1、TIM2等) :可实现定时计数、脉冲生成、PWM输出等功能,用于时序控制(如定时触发ADC采样)、电机调速(PWM控制)等场景 。
    • 串口(USART1 - USART5等) :通用同步/异步收发器,用于串口通信,实现与外部设备(如电脑、其他串口设备)的数据收发,像调试打印、Modbus通信 。
    • SPI(SPI1等) :串行外设接口,高速同步串行通信,用于连接SPI设备(如传感器、显示屏),快速传输数据 。
    • I2C(I2C1、I2C2) :两线式串行总线,常用于连接低速外设(如EEPROM、传感器),多设备共享总线,节省引脚 。
    • DAC :数模转换器,把数字信号转为模拟信号输出,可用于波形生成、模拟电压控制等 。
    • 其他(如PWR、bxCAN、WWDG等 ):PWR是电源管理,实现低功耗模式;bxCAN是CAN总线控制器,用于汽车、工业控制等CAN网络通信;WWDG是窗口看门狗,监控程序运行,防止程序跑飞 。
  9. ps可以把微控制器想象成一个小工厂, ICode 和 DCode 是工厂里的两条"传送带",作用不一样:
  • ICode:专门运送"指令" ,比如工厂里"拧螺丝""贴标签"这类操作步骤,从存指令的仓库(Flash)送到工厂核心(Cortex - M3),让核心知道该干啥。
  • DCode:专门运送"数据" ,像生产要用的"零件""半成品" ,从临时仓库(SRAM 等)来回送,给核心执行指令时提供原材料、存运算结果 。

五、引脚定义

  • 红色是电源相关的引脚
  • 蓝色是最小系统相关的引脚
  • 绿色是IO口/功能口相关的引脚
  • S代表电源,I/O代表输入输出,I/O电平指所能容忍的电压
  • FT代表能容忍5V,默认复用是IO口上同时连接的外设功能引脚
  • 重定义:如果有2个功能同时复用在了一个IO口上,可以把其中一个复用功能重映射到其他引脚上
  • 1.VBAT:备用电池供电引脚,当系统电源断电时,备用电池可以给内部的RTC时钟和备份寄存器提供电源。
  • 2.IO口/侵入检测/RTC:IO口可以根据程序输出读取高低电平
  • 3.4. IO口/接32.768KHz的RTC晶振
  • 5.6. 接系统的主晶振,芯片内有锁相环电路,对8MHz进行倍频形成72MHz
  • 7.系统复位引脚,低电平复位
  • 8.9是内部模拟部分的电源,如ADC,RC震荡器 VSS(-) VDD(+)
  • 10-19都是IO口,10号引脚还兼具WkUP用于唤醒处于待机模式的STM32
  • 20:IO口/BOOT1引脚,BOOT用来配置启动模式 44.BOOT0
  • 21.22,25-33,41-43,45.46都是IO口
  • 23.24是系统的主电源口,35.36,47.48 STM32采用分区域供电模式
  • 34.37-40是IO口/调试端口 STM32支持SWD和JTAG两种调试方法
    SWD:SWDIO SWCLK

六、启动配置(BOOTO和BOOTI)


七、核心板原理图


总结

  • 核心与基础
    STM32F103C8T6 以 Cortex - M3 为核心,电源(VBAT 保 RTC 等、VDD/VSS 主供电 )、时钟(主晶振、RTC 晶振配锁相环构时钟系统 )、复位(NRST 低电平复位 )是运行基础,保障系统稳定启动与运转 。
  • 引脚与功能
    引脚功能丰富,IO 口可做通用输入输出,还复用通信(USART、SPI 等 )、模数转换(ADC )、定时(TIM )等功能;BOOT 引脚配启动模式,调试引脚(SWD、JTAG )用于程序下载与调试,满足多样开发需求 。
  • 开发要点
    需掌握引脚复用、重映射规则,合理配置时钟、电源、复位,利用调试接口高效开发,从硬件基础到功能实现,逐步搭建 STM32 应用系统,开启嵌入式开发实践之路 。
    关于STM32的入门介绍的讲解就到这里,希望对你有所帮助,感谢观看ovo!
相关推荐
飞凌嵌入式8 小时前
当门禁系统遇上边缘计算,RK3568核心板如何带来智能化变革
人工智能·嵌入式硬件·嵌入式·边缘计算·飞凌嵌入式
茯苓gao9 小时前
变频器实习总结14 电子元件中的内部参考电压 Type-c口对于BMS开发的优点
笔记·嵌入式硬件·学习
通信好难学9 小时前
六、Proteus817实现51单片机和DS18B20采集温度
单片机·嵌入式硬件·51单片机
jianqiang.xue9 小时前
安装proteus,并实现stm32仿真
stm32·嵌入式硬件·proteus
冷风沐雨9 小时前
LVGL移植(STM32)
c语言·stm32·单片机
小莞尔11 小时前
【51单片机】【protues仿真】基于51单片机音乐喷泉系统
c语言·stm32·单片机·嵌入式硬件·51单片机
安庆平.Я16 小时前
STM32——中断
stm32·单片机·嵌入式硬件
小莞尔16 小时前
【51单片机】【protues仿真】基于51单片机智能晾衣架系统
c语言·stm32·单片机·嵌入式硬件·51单片机
小憩-17 小时前
【stm32】对射式红外传感器计次以及旋转编码器计次
stm32·单片机·嵌入式硬件