ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

初识 STM32

初识 STM32 初识STM32开始学 STM32写博客记录一下学习过程方便自己复习也希望能帮到刚开始学的同学本章记录 STM32 入门学习笔记包括单片机概念、命名规则、开发环境搭建单片机是什么单片微型计算机,是一种集成电路芯片单片机MCU 把 CPU 内存 外设集成在一个芯片上CPU算RAM / ROM存外设定时器、串口、GPIO、ADC跟外界打交道一个芯片 一台完整的小计算机。PC 的 CPU、内存条、硬盘是分开的单片机把这些塞进一颗指甲盖大的芯片里。什么是STM32STM32是ST公司意法半导体基于ARM Cortex-M内核设计的32位单片机微控制器特点STM32具有高性价比内部外设丰富等STM32常应用在嵌入式领域如智能车、无人机、机器人、工业控制、娱乐电子产品等STM32命名规则以 F103C8T6 为例段含义F103C8T6STM32系列-F产品线F主流通用L低功耗H高性能F1Cortex-M30M04M4103型号序号103C引脚数C48脚R64V100C8Flash 容量864KBB128KB8T封装TLQFPT6温度范围6-40~85℃6记住 C8 48脚 64KB Flash最小系统板标配其余用到了查数据手册。STM32F103C8T6初次学习使用的是STM32F103C8T6所以会详细介绍一下芯片架构STM32F103C8T6系列:主流系列STM32F1内核:ARM Cortex-M3主频:72MHzRAM:20K(SRAM)ROM:64K(Flash)供电:2.0~3.6V(标准3.3V)封装:LQFP48Cortex‑M3Cortex-M3 是 ARM 公司设计的 CPU 内核不是完整芯片。ST 拿到这个内核再配上外设、存储器、总线做成 STM32F103 芯片。M3 内部主要模块处理器核心ALU、寄存器 R0~R15跑 C 代码NVIC嵌套向量中断控制器管理所有中断EXTI、定时器中断SysTick系统滴答定时器做延时MPU可选F103 的 M3 不带 MPU✅ Cortex-M3 没有硬件 Cache代码直接从 Flash 取变量直接读写 SRAM没有缓存一致性麻烦。M3 内核对外引出三条总线核心用来连接总线矩阵I‑Code 总线指令总线专门从 Flash 读取程序代码指令D‑Code 总线数据总线读常量、查表从 Flash 取常量数据System 总线访问 SRAM、外设寄存器GPIO、RCC、串口全部走这条I-Code、D-Code 只能访问 Flash 区域System 总线用来访问 SRAM 和外设。外设资源定时器3个通用定时器TIM2,TIM3,TIM41个高级控制定时器TIM12 个基本定时器TIM6、TIM7通信接口2 个 SPI 接口支持主/从模式3 个 USART 接口支持异步串行通信2 个 I2C 接口支持标准/快速模式1 个 CAN 接口符合 ISO 11898 标准ADC 模块1 个 12 位精度的模拟数字转换器ADC1支持最多 16 个外部通道支持多通道扫描、连续转换、双模式采样等高级功能DMA 控制器支持 7 个通道的直接内存访问可减轻 CPU 负载提升数据传输效率GPIO 引脚共有 37 个可配置的 GPIO 引脚部分引脚复用功能支持上拉/下拉电阻配置、开漏输出、推挽输出等多种模式所有引脚均可映射到外部中断线EXTI总线矩阵总线矩阵是连接内核和存储器/外设的交通枢纽。Cortex-M3 的三条总线I-Code、D-Code、System都汇到这里再由它分发到 Flash、SRAM、外设。作用让多个主人CPU 取指令、DMA 搬数据同时访问不同的奴隶Flash、SRAM、外设互不阻塞。类比立交桥——多辆车同时走不同车道不用排队等。为什么重要CPU 取指令走 I-Code、读数据走 D-Code、访问外设走 System三条线并行这正是 Cortex-M3 高性能的来源。开发环境工具作用Keil MDK写代码、编译、下载ST-LINK把程序烧进板子标准库官方封装好的函数不用直接操作寄存器这是 STM32 系列第一篇接下来会更新 GPIO、定时器、串口等内容有什么问题欢迎评论区指正。
返回列表