我正在用 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”中的函数。
该结构未在函数内部声明。我相信这是我的问题,但我不确定它是如何被宣布为错误的。我已经看到了其他线程,但对我的问题没有任何帮助。我认为问题在于我正在从我的结构中调用一个函数。如果有人可以验证或帮助我解决这个问题,那就太好了。