硬汉嵌入式论坛

 找回密码
 立即注册
查看: 80|回复: 0
收起左侧

[STM32H7] 使用宏定义做变量重映射,指向同一个地址

[复制链接]

1万

主题

7万

回帖

12万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
121126
QQ
发表于 5 小时前 | 显示全部楼层 |阅读模式
应用场景

比如都使用的SPI4,操作两个外设,但是对应的驱动是来自其它的不同工程代码,要统一修改成一个变量,略繁琐。所以搞个骚操作来解决。

解决办法

比如一个1. C文件里面定义是
SPI_HandleTypeDef hspi4_flash;
DMA_HandleTypeDef hdma_tx_flash;
DMA_HandleTypeDef hdma_rx_flash;

那么2.C文件我们就就可以
extern SPI_HandleTypeDef hspi4_flash;
extern DMA_HandleTypeDef hdma_tx_flash;
extern DMA_HandleTypeDef hdma_rx_flash;

// 使用宏将原来的名字映射到实际变量
#define hspi4_dac      hspi4_flash
#define hdma_tx_dac hdma_tx_flash
#define hdma_rx_dac hdma_rx_flash


这样两个C文件的变量就不用统一成一个了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2026-2-24 15:01 , Processed in 0.041963 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表