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

相关推荐
李永奉3 小时前
C语言-指针函数与函数指针及回调函数的使用
c语言·开发语言
Zw-awa3 小时前
蜂鸣器为什么会响:有源、无源和低电平触发
stm32
杨丰玮4184 小时前
C语言基础知识(一)————各类符号的含义与输入输出库(stdio)
c语言·开发语言
水饺编程5 小时前
第1章,了解乌班图环境,使用浏览器和邮箱
c语言·汇编·ubuntu
木白CPP6 小时前
SELinux 介绍和基本使用
嵌入式硬件·安卓·安全架构
Escalating_xu6 小时前
【C 语言】操作符详解(下):逗号、下标、结构体、类型转换与表达式求值
c语言
女神下凡7 小时前
芯参谋(30):EMMC eMCP 软件设计规范
arm开发·单片机·嵌入式硬件·设计规范
晓蛋8 小时前
C语言条件编译精讲
c语言·条件编译·宏定义·代码移植·预处理程序
ggaofeng9 小时前
Ctrl+C结束进程是如何实现的
服务器·c语言·网络
xingzhemengyou19 小时前
STM32F427将函数设定在固定位置
stm32·单片机·嵌入式硬件