STM32基础知识

简介: STM32基础知识

一、STM32相关介绍

首先你得先了解STM32相关的内容,其中包括七部分:

1  芯片命名规则

2  Cortex-M内核和STM32芯片内部结构

3 时钟系统配置

4  STM32内部资源地址(存储空间)

5  BOOT映射和代码启动运行顺序

6  HAL库、LL库、标准库编程和寄存器编程

7 程序工程代码结构和编译过程


HAL

ST官方推崇的新编程库;HALHardware Abstraction Layer的缩写,中文名:硬件抽象层。HAL库是STSTM32最新推出的抽象层嵌入式软件,可以更好的确保跨STM32产品的最大可移植性。HAL使用了比较大的FlashSRAM


LL库(Low Layer

是ST最近新增的库,与HAL捆绑发布,文档也是和HAL文档在一起的LL库更接近硬件层,对需要复杂上层协议栈的外设不适用,直接操作寄存器。其支持所有外设。使用方法:独立使用,该库完全独立实现,可以完全抛开HAL库,只用LL库编程完成。在使STM32CubeMX生成项目时,直接选LL库即可。如果使用了复杂的外设,例如USB,则会调用HAL库混合使用,和HAL库结合使用。编译后LL库只有HAL库的33%体积。


标准固件库

旧版本编程库;HAL库是ST未来主推的库,从前年开始ST新出的芯片已经没有STD库了。


二、STM32GPIO外设

GPIO:General Purpose Input Output通用用途输入输出

它的核心功能:输入、输出和高级外设的复用功能


每个GPIO包括10个寄存器来配置GPIO的具体功能(每个引脚功能都是完全可以独立配置,互不影响):


  • GPIOx_MODER:GPIO 端口模式寄存器
  • GPIOx_OTYPER :GPIO 端口输出类型寄存器
  • GPIOx_OSPEEDR :GPIO 端口输出速度寄存器
  • GPIOx_PUPDR :GPIO 端口上拉/下拉寄存器
  • GPIOx_IDR :GPIO 端口输入数据
  • GPIOx_ODR :GPIO 端口输出数据寄存器
  • GPIOx_BSRR :GPIO 端口置位/复位寄存器
  • GPIOx_LCKR :GPIO 端口配置锁定寄存器
  • GPIOx_AFRL :GPIO 复用功能低位寄存器
  • GPIOx_AFRH :GPIO 复用功能高位寄存器
  • GPIOx_BRR:GPIO位复位寄存器


为实现不同工作条件要求,GPIO有8种工作模式:


  • 输入浮空
  • 输入上拉
  • 输入下拉
  • 模拟功能
  • 开漏输出
  • 推挽输出
  • 复用开漏输出
  • 复用推挽输出


相关文章
|
8天前
|
C++ 内存技术
|
8天前
|
存储 C语言 芯片
C/C++ stm32基础知识超详细讲解(系统性学习day14)
C/C++ stm32基础知识超详细讲解(系统性学习day14)
|
8天前
|
数据采集 存储 传感器
STM32 ADC基础知识讲解
STM32 ADC基础知识讲解
73 0
|
芯片
STM32——IIC基础知识及例程使用(后续拓展)
STM32——IIC基础知识及例程使用(后续拓展)
344 1
STM32——IIC基础知识及例程使用(后续拓展)
STM32的HAL库开发系列 - ADC基础知识
STM32的HAL库开发系列 - ADC基础知识
110 0
|
传感器
STM32小项目总结1(部分基础知识+LED+蜂鸣器+按键控制LED+OLED显示屏+光敏传感器控制蜂鸣器)
STM32小项目总结1(部分基础知识+LED+蜂鸣器+按键控制LED+OLED显示屏+光敏传感器控制蜂鸣器)
577 0
STM32小项目总结1(部分基础知识+LED+蜂鸣器+按键控制LED+OLED显示屏+光敏传感器控制蜂鸣器)
|
存储 算法 前端开发
STM32寄存器版的基础知识—内存映射
STM32F429 采用的是 Cortex-M4 内核,内核即 CPU,由 ARM公司设计。ARM 公司并不生产芯片,而是出售其芯片技术授权。芯片生产厂商(SOC)如 ST、TI、Freescale,负责在内核之外设计部件并生产整个芯片,这些内核之外的部件被称为核外外设或片上外设。如 GPIO、USART(串口)、I2C、SPI等都叫做片上外设。
261 0
STM32寄存器版的基础知识—内存映射
|
8天前
【STM32】基于HAL库的360度编码器、摇杆代码编写
【STM32】基于HAL库的360度编码器、摇杆代码编写
|
8天前
|
传感器