私はLPCボードを持っており、ピンを繰り返して、いくつかのLED /ワイヤでそれらを接続するとき、ピンが高いか低いかをチェックする必要があります。問題は、ピンが特定の順序でないことです。私は20の入力GPIOと20の出力を持っています。Cループ用GPIO
私は、ピンをマクロ式として定義しました。 #define GPIO1 0,1 #define GPIO2 1,19
そして、私はそれらを配列Egに格納しました。 gpio_outputs[] = {GPIO1, etc};
しかし、私はそれがChip_GPIO_SetPinDIROutput
のプロトタイプがある私に「少なすぎる引数」
for (i=0;i<sizeof(gpio_outputs);i++){
// Chip_GPIO_SetPinDIROutput(LPC_GPIO_PORT, gpio_outputs[i]);
//}
告げるこの配列のループのために何しようとした場合:私は読んでいたものから、今
Chip_GPIO_SetPinDIROutput(LPC_GPIO_PORT, PIN_INDEX, PIN_NUMBER);
、マクロ式はこれで動作しません。ですから私の疑問は、どのGPIOをどのように繰り返し処理すればよいのですか?
正しい順番の配列を定義し、それを反復処理します。 –
同じポートに20本のピンがありますか?あなたのマクロの2つの数字は何ですか?また、マクロはそれほど機能しません。必要な実際のデータを持つテーブルを用意する必要があります。 「ピンインデックス」と「ピン番号」の違いは何ですか? – unwind
2つの行があります。各行にはインデックスがあります。例えば。左手の行インデックス0、右手の行1。それは実際にどのように説明するのが簡単ではない。実際のGPIO番号はどこにでもあります。例えば。私はピン0、2の後に19を持っています。 https://cdn-shop.adafruit.com/1200x900/1342-00.jpg – Filip