[STM32F1] 错误function 'ALIGN_32BYTES' is initialized like a variable

[复制链接]
7|5
封存into 发表于 2026-2-11 12:55 | 显示全部楼层 |阅读模式

我正在调试一个项目,在以下代码:
#define CCRValue_BufferSize 37

ALIGN_32BYTES (uint32_t DiscontinuousSineCCRValue_Buffer[CCRValue_BufferSize]) =
{
14999, 17603, 20128, 22498, 24640, 26488, 27988, 29093, 29770,
29998, 29770, 29093, 27988, 26488, 24640, 22498, 20128, 17603,
14999, 12394, 9869, 7499, 5357, 3509, 2009, 904, 227, 1, 227,
904, 2009, 3509, 5357, 7499, 9869, 12394, 14999
};
出现如下编译错误:
error: function 'ALIGN_32BYTES' is initialized like a variable

powerantone 发表于 2026-2-12 16:46 | 显示全部楼层
检查ALIGN_32BYTES宏的定义是否正确,应该展开为正确的对齐声明,而不是函数声明。
classroom 发表于 2026-2-12 17:46 | 显示全部楼层
检查宏的使用方式是否符合编译器要求。
cr315 发表于 2026-2-12 19:47 | 显示全部楼层
对齐宏定义与编译器语法可能不兼容
duo点 发表于 2026-2-12 19:48 | 显示全部楼层
若宏定义混乱,可直接在代码中使用编译器原生语
flycamelaaa 发表于 2026-2-12 22:48 | 显示全部楼层
建议提供CubeIDE的编译日志
您需要登录后才可以回帖 登录 | 注册

本版积分规则

118

主题

176

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部
0