Raspberry PiのGPIOにスイッチをつないでその状態を読み取る実験。これがもしArduinoだったらポートを読み続ければいいのだけれど、Raspberry PiはLinuxの流儀でやる必要がある。手短に言うと時間を長く占有してはいけない。Linuxは難しいことを比較的簡単に実現するかわりに簡単なことを比較的難しくする。 先達のやりかたを見るとWiringPiやbcm2835ライブラリでピンに割り込みを設定する例が多い。この場合、割り込み関数で頑張ればいろいろな処理ができる。でも、ピンの変化を捉えるだけなら/sys/class/gpio/ピンの名前/edgeにrisingかfallingかbothを書き込むのが手っ取り早い。割り込み関数を呼び出さないから正確には「イベントを発生するだけ」かも知れないが、似たようなもの。そのイベントはpoll関数(システムコール)で検出できる。 スイ