当たり前のことではあるのですが、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の世界の区別がぱっと見ではわかりにくいので、気をつけた方がいいですね。”””