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

相关推荐
袁雅倩19974 小时前
当吸尘器、筋膜枪都用上Type-C,供电方案该怎么选?浅谈PD取电芯片ECP5702的应用
c语言·开发语言·支持向量机·动态规划·推荐算法·最小二乘法·图搜索算法
salipopl6 小时前
基于STM32平台的多旋翼无人机系统设计与实现
stm32·嵌入式硬件·无人机
CHANG_THE_WORLD9 小时前
C语言中的 %*s 和 %.*s 和C++的字符串格式化输出
c语言·c++·c#
消失的旧时光-19439 小时前
C语言对象模型系列(四)《Linux 内核里的 container_of 到底是什么黑魔法?》—— 一篇讲透 Linux 内核的“对象模型”核心技巧
linux·c语言·算法
2501_9318037510 小时前
Go:一门为解决C语言痛点而生的现代语言
c语言·开发语言·golang
qeen8710 小时前
【数据结构】二叉树相关经典函数C语言实现
c语言·数据结构·c++·笔记·学习·算法·二叉树
Hello.Reader12 小时前
ds4.c 深度解析为 DeepSeek V4 Flash 打造的本地推理引擎
c语言·开发语言
谙弆悕博士14 小时前
快速学C语言—— 第0章:C语言简介
c语言·开发语言·经验分享·笔记·程序人生·课程设计·学习方法
振南的单片机世界15 小时前
从数码管到点阵屏:动态扫描加595,3个IO驱动256个LED
stm32·单片机·嵌入式硬件
listhi52015 小时前
STC8 16通道模拟采集 + 4路串口 + 8路PWM 程序
stm32·单片机·嵌入式硬件