我正在用 beaglebone 做一些 GPIO,目前在我的代码中有这个:
#include <linux/gpio.h>         //for GPIO
char label[] = "sys/kernel/debug/gpio";
struct gpio xx[] = {
    { gpio1, GPIOF_DIR_OUT|GPIOF_INIT_LOW, label },
    { gpio2, GPIOF_DIR_OUT|GPIOF_INIT_LOW, label },
    { gpio3, GPIOF_DIR_OUT|GPIOF_INIT_LOW, label },
    { gpio4, GPIOF_DIR_OUT|GPIOF_INIT_LOW, label },
    { gpio5, GPIOF_DIR_OUT|GPIOF_INIT_LOW, label },
    { gpio6, GPIOF_DIR_OUT|GPIOF_INIT_LOW, label },
    { gpio7, GPIOF_DIR_OUT|GPIOF_INIT_LOW, label },
    { gpio8, GPIOF_DIR_OUT|GPIOF_INIT_LOW, label },
    { gpio9, GPIOF_DIR_OUT|GPIOF_INIT_LOW, label },
    { gpio10, GPIOF_DIR_OUT|GPIOF_INIT_HIGH, label },
    };
其中 gpio#, 都定义为整数。GPIOF_DIR_OUT 和 GPIOF_DIR_LOW 是“linux/gpio.h”中的函数。
该结构未在函数内部声明。我相信这是我的问题,但我不确定它是如何被宣布为错误的。我已经看到了其他线程,但对我的问题没有任何帮助。我认为问题在于我正在从我的结构中调用一个函数。如果有人可以验证或帮助我解决这个问题,那就太好了。