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

相关推荐
皮皮哎哟2 小时前
ARM—点灯(基于正点原子的IMX6U-mini)
arm开发·单片机·嵌入式硬件·imx6ull·点灯·固件库
sonnet-10292 小时前
堆排序算法
java·c语言·开发语言·数据结构·python·算法·排序算法
可乐鸡翅好好吃2 小时前
一次因 MPU6050 硬件异常导致的 nRF52840 启动卡顿问题总结
单片机·嵌入式硬件
爱喝纯牛奶的柠檬2 小时前
基于STM32和电阻分压模块的电压测量
stm32·单片机·嵌入式硬件
dashizhi20152 小时前
服务器共享禁止外部设备访问、共享文件禁止非单位内部电脑访问?
stm32·单片机·嵌入式硬件
电子科技圈3 小时前
芯科科技闪耀2026嵌入式世界展以Connected Intelligence赋能,构建边缘智能网联新生态
人工智能·嵌入式硬件·mcu·物联网·智慧城市·健康医疗·智能硬件
济6175 小时前
STM32实战:ADC单通道单次转换,光敏传感器实现智能光控LED---STM32 HAL库专栏
stm32·单片机·嵌入式·stm32hal库编程
风逸尘_lz15 小时前
STM32标准工程目录文件解释
stm32·单片机·嵌入式硬件
小白学电子_15 小时前
51 单片机 拖尾流水灯
单片机·嵌入式硬件