Raspberry PiでIoTなシステム開発:オンボードLEDのコントロールはBCMナンバーで、WiringPiのコントロールは独自のナンバーで

当たり前のことではあるのですが、PiでGPIOを指定するときはコアであるBCMの番号が原則です。が、WiringPiは何故かGPIOに対して独自の付番をしているので、対照関係が結構ややこしいです。ヘッダピンの番号がさらにまた別になっています。で、今回オンボードLEDのコントロールのため、以下のコマンドでGPIOに対応させるようにしたのですが、このコマンドはBCMの番号で指定します。

    system(""echo gpio | sudo tee /sys/class/leds/led0/trigger"");    system(""echo 21 | sudo tee /sys/class/leds/led0/gpio"");

一方このGPIOをWiring PiでコントロールするときはWiring PiでコントロールするときはWiring Piの番号でコントロールします。

    while(1) {        digitalWrite(29, 1);        usleep( 50000);        digitalWrite(29, 0);        usleep(950000);   }

コード上ではWiring Piの世界とBCMの世界の区別がぱっと見ではわかりにくいので、気をつけた方がいいですね。”””

コメントをどうぞ

メールアドレスが公開されることはありません。 が付いている欄は必須項目です