这个代码是什么意思?

what does this code mean ?

我正在阅读一个项目,我发现了这段代码,我不明白。

#define OUT_PINS            {X2_PIN, PIOC, ID_PIOC, PIO_OUTPUT_0, PIO_DEFAULT}, \
                    {Y2_PIN, PIOC, ID_PIOC, PIO_OUTPUT_0, PIO_DEFAULT}, \
                    {Z2_PIN, PIOC, ID_PIOC, PIO_OUTPUT_0, PIO_DEFAULT}

该程序是 运行 在 SAM3S 上的一个来自 Atmel 的皮质 M3。

X2_Pin、Y2_Pin 和 Z2_Pin 已定义。

谁能给我解释一下 OUT_PINS 现在是什么?

OUT_PINS 是用一些二维数组值定义的宏。查看以下示例以更好地理解。

例如:int *OP[] = {OUT_PINS } 类似于

int *OP[] = {{X2_PIN, PIOC, ID_PIOC, PIO_OUTPUT_0, PIO_DEFAULT}, \
                    {Y2_PIN, PIOC, ID_PIOC, PIO_OUTPUT_0, PIO_DEFAULT}, \
                    {Z2_PIN, PIOC, ID_PIOC, PIO_OUTPUT_0, PIO_DEFAULT}}

好吧,在这种情况下你真的不需要这个宏。但它使您的代码有更好的概览。如果您使用 macros/defines 并且您需要更改代码,则只需更改 macros/defines.