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

相关推荐
白搞电子1 小时前
ESP-Mosaico 黑胶轮滑动画与音乐编排:从设备原型到电脑预览工作台
单片机·嵌入式硬件
新晨单片机设计2 小时前
S028C-基于STM32单片机WIFI智能电表(温度)【Proteus仿真+Keil程序+原理图】
stm32·单片机·proteus·wifi智能电表
幼儿园蛋小黑2 小时前
LVGL 入门指南:从零搭建嵌入式 GUI 界面
嵌入式硬件
1234567890@world2 小时前
正点原子 ATK-DLRK3568 嵌入式Linux系统开发手册V1.3 详细总结
linux·stm32·单片机
Navigator_Z3 小时前
LeetCode //C - 1301. Number of Paths with Max Score
c语言·算法·leetcode
女神下凡4 小时前
芯参谋(68):ADC模数转换器电路设计指南
arm开发·单片机·嵌入式硬件·硬件工程·设计规范
学逆向的4 小时前
C 多文件开发
c语言·开发语言·网络安全
学逆向的5 小时前
C 内存属性
c语言·开发语言·算法·网络安全
Zwawa5 小时前
一盏 LED 不够用了:让同一盏灯说出不同的话
c语言·单片机·嵌入式
芯岭技术郦5 小时前
入门级 32 位 MCU,PY32F002B
单片机·嵌入式硬件