STM32 开发中 C 语言结构体复习(精简版)
核心:结构体是STM32开发的基础,聚焦复习重点
一、结构体核心定义(必记)
结构体是C语言自定义复合数据类型,封装不同类型变量,统一管理(区别于同类型数组)
c
// 核心格式(STM32常用 typedef 简化)
typedef struct {
int a; // 示例成员
char b;
} MyStruct;
二、STM32中结构体的核心用法(复习重点)
1. 寄存器映射(最常用)
外设寄存器地址连续,结构体成员对应寄存器地址,绑定基地址即可操作。
c
// 简化示例
typedef struct {
uint32_t CRL;
uint32_t ODR;
} GPIO_TypeDef;
#define GPIOA ((GPIO_TypeDef *)0x40010800)
// 核心操作
GPIOA->ODR |= (1<<5);
2. 初始化配置结构体
库函数常用,封装配置参数,简化代码。
c
// 简化示例
typedef struct {
uint16_t GPIO_Pin;
uint32_t GPIO_Mode;
} GPIO_InitTypeDef;
// 核心用法
GPIO_InitTypeDef initStruct;
initStruct.GPIO_Pin = 0x01;
initStruct.GPIO_Mode = 0x03;
三、关键语法
-
访问成员:普通变量用
.,结构体指针用->(STM32常用指针) -
内存特性:成员连续分配,顺序不能乱(否则映射出错)
-
typedef:简化定义,不用每次写struct