私はビーグルボーンでいくつかの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」内の関数です。
構造体は関数内で宣言されていません。これが私の問題だと思いますが、どのように間違っていると宣言されているのかわかりません。私はこれについて他のスレッドを見たことがありますが、私の問題を本当に助けたものは何もありません。問題は、構造内から関数を呼び出しているという事実だと思います。誰かがこれを確認するか、私がこれを修正するのを手伝ってくれるなら、それは素晴らしいことです。