0

gpio に書き込む簡単なプログラムが必要です。どこにも見つかりません。mmra ドキュメントの例は機能しません。システム コールを使用してこのピンに書き込む Sprakfun の例が問題なく動作するため、gpio14 を選択しました。しかし、私のプログラムは動作しません。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <mraa.h>
#include <math.h>
#include <mraa/gpio.h>

int main(int argc, char **argv)
{

mraa_gpio_context gpio;

gpio = mraa_gpio_init(14);  <--- to get gpio14 to toggle change this to 36
mraa_gpio_dir(gpio, MRAA_GPIO_OUT);
int value = 0;
for (;;) {
    if(value == 0)value = 1;
    else value = 0;
    mraa_gpio_write(gpio,value);
    printf("output is %d\n",value);
    sleep(1);
}
mraa_gpio_close(gpio);
return 0;
}

ループが実行され、出力が 1 で、出力が 0 であることが出力されます。ピンにオシロスコープがあり、ローのままです。

この Sparkfunチュートリアルを使用して、ピンを高く移動できるので、セットアップが正しいことがわかります。誰かが私にすべてのインクルードなどで動作するコードの例を教えてくれれば、それは非常に役に立ちます.

4

1 に答える 1

0

私が投稿したコードは正しく、機能することがわかりました。問題は、gpio14 が mraa 36 であるため、gpio14 を切り替えるには、init の番号を 36 に変更する必要があることです。定義ドキュメントは次のとおりです。

mraa デコーダリング

于 2015-02-22T05:19:00.167 に答える