STM32 开发中 C 语言结构体复习(精简版)

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

相关推荐
零依赖极客44 分钟前
Day 6·1 ARMv8.2 dotprod——vdotq_s32 一条指令做 4 个点积
c语言·开发语言·人工智能·矩阵·arm·vllm
Zw-awa1 小时前
001-01-从C语言的main到STM32的main-你的代码后来去了哪里
stm32
幼儿园蛋小黑4 小时前
单片机数码管LED灯独立按键中断定时器综合实战
单片机·嵌入式硬件
老王爱玩车4 小时前
深入理解指针2
c语言·开发语言·学习
自小吃多4 小时前
PCB Editor软件复制、改变、删除操作笔记
笔记·嵌入式硬件
数字新视界5 小时前
数据中心基础设施管理系统发布新版本,助力企业云化转型
嵌入式硬件·物联网·数据中心·数据中心基础设施管理·dcim管理系统
SKH.6 小时前
单片机(1)
单片机·嵌入式硬件
llilian_166 小时前
小切口解决大问题:时序校准场景下的标准时间间隔脉冲信号发生器应用方案
功能测试·单片机·嵌入式硬件·51单片机
l1t6 小时前
用superpi、tinypi、tpi等工具计算圆周率的比较
c语言·算法
宁静致远20216 小时前
VSCode 开发 STM32 的 Keil工程 (Keil Assistant)
vscode·stm32·stm32cubeide