STM32

STM32 开发相关知识总结

一、STM32 最小开发板

核心是 STM32F103C8T6 主控芯片 ,主要组成可简单总结为:

  • 核心部件:STM32F103C8T6 单片机芯片,是开发板的 "大脑",负责运行程序、处理数据 。

  • 时钟相关 :有高速外部时钟(HSE,8M 晶振,经 PLL 锁相环倍频到 72M 作为系统主频 )和低速外部时钟(LSE,32.768K 晶振,用于 RTC 实时时钟 ),为系统运行提供计时基准 。

  • 基础电路:包含复位电路(RESET 按键,用于重启单片机 )、电源指示灯(PWRER,显示开发板是否通电 ) 。

  • 接口与引脚:有各类 GPIO 引脚用于外接设备(如舵机等 ),还有 USB 接口(用于供电、程序下载等 ) ,提供硬件连接和扩展能力。

简单说,最小开发板以 STM32F103C8T6 为核心,搭配时钟、复位、电源指示及各类引脚 / 接口,构成能运行程序控制外设的基础硬件平台 。

二、STM32F103C8T6

  1. 48 个引脚

    • 9 个黄色引脚(电源相关)

      • VDD/VSS:有 6 个,为数字电路供电,数字逻辑、定时器、GPIO 等数字功能模块靠它们供电 。

      • VDDA/VSSA:共 2 个,为模拟电路供电,像 ADC(模数转换 )、DAC(数模转换 )这些模拟功能模块,需要独立干净的电源,避免数字电路干扰 。

      • VBAT:1 个,是备份电源引脚,通常外接纽扣电池,在主电源掉电时,给 RTC(实时时钟 )、备份寄存器等供电,维持时间计数和关键数据 。

    • 4 个绿色引脚(晶振相关)

      • RCC_OSC32_IN/RCC_OSC32_OUT(对应 PC14/PC15 ):接低速晶振(LSE,32.768KHz ),给 RTC 等提供精准慢时钟 。

      • RCC_OSC_IN/RCC_OSC_OUT(对应 PD0/PD1 ):接高速晶振(HSE,8MHz ),经 PLL 倍频后作为系统主频(比如 72MHz )的基础时钟 。

    • 灰色引脚(通用 GPIO)

      • 包括 PA0~PA15、PB0~PB15、PC0~PC15、PD0~PD15 ,是通用输入输出引脚,可自由编程控制。

      • 能配置为输出模式,像控制舵机(输出 PWM )、点亮 LED(输出高低电平 ) 也能配置为输入模式,读取按键、传感器信号(如读取按键是否按下 ) 。

    • 其他关键引脚(调试、启动等 )

      • NRST(复位引脚 ),属于芯片复位功能,低电平触发芯片复位重启 。

      • BOOT0:配置引脚,配合设置芯片启动模式,比如 BOOT0=0 时,从主闪存启动(正常运行用户程序 );BOOT0=1 时,可进入下载模式(通过串口、SWD 下载程序 ) 。

      • SWD 调试引脚:PA13(SWDIO )、PA14(SWCLK ),用于 SWD 调试接口,连接调试器下载程序、在线调试代码 ,让开发时能实时查看变量、单步执行 。

  • 电脑和单片机无法直接通信

  • USB 的电压 5V,单片机 3.3V

  • ST-LINK,转换电压和协议,作为桥梁,解决通信

四、STM32F103 系列单片机的系统架构

基于 Cortex-M3 内核构建,采用分层总线架构,核心组件包括:

  1. 核心与存储
  • Cortex-M3 内核通过指令 / 数据总线连接 64KB Flash(程序存储)与 20KB SRAM(数据缓存),支撑程序运行与数据处理。
  1. 总线与时钟
  • AHB 总线(高速主干道)连接内核、存储与外设桥接器;

  • APB1(36MHz 低速)与 APB2(72MHz 高速)挂载不同外设,优化资源分配;

  • RCC 模块统一管理系统时钟与外设时序。

  1. 数据与外设
  • DMA 模块实现内存与外设间的高速数据传输,提升效率;

  • 片上外设(定时器、GPIO、ADC、通信接口等)通过 APB 总线实现硬件控制与数据交互。

相关推荐
小叮当⇔1 天前
IOT项目——STM32
stm32·嵌入式硬件·物联网
光子物联单片机1 天前
STM32G474单片机开发入门(十五)CAN通信功能详解及实战
stm32·单片机·嵌入式硬件·mcu
A9better1 天前
嵌入式开发学习日志40——stm32之I2C协议层
stm32·单片机·嵌入式硬件·学习
来生硬件工程师1 天前
【STM32笔记】:P03 ISP 一键下载电路详解
c语言·笔记·stm32·嵌入式硬件·硬件工程·接口隔离原则·硬件设计
DuHz1 天前
C程序中的数组与指针共生关系
linux·c语言·开发语言·嵌入式硬件·算法
来生硬件工程师1 天前
【STM32笔记】:P04 断言的使用
c语言·笔记·stm32·单片机·嵌入式硬件·硬件架构·硬件设计
GilgameshJSS1 天前
STM32H743-ARM例程22-USB_CDC
arm开发·stm32·嵌入式硬件
光子物联单片机1 天前
STM32G474单片机开发入门(十七)DAC详解及输出电压和正弦波实战
stm32·单片机·嵌入式硬件·mcu
日更嵌入式的打工仔1 天前
嵌入式入门:APP+BSP+HAL 三层分级架构浅析
笔记·单片机·嵌入式硬件·学习
优信电子1 天前
基于STM32F103驱动AS5600读取磁体旋转的模拟量/角度数据
stm32·单片机·嵌入式硬件·as5600·磁编码器·磁角度传感器