という小説*1があったのですが、覚えているでしょうか。
懐かしいと思ったそこのあなた、もしかしてアラサーでは?
この記事ではスイッチ(プッシュスイッチの押下検出)の恐るべき実装を語る。
前提
- スイッチは正極性(押されると通電)
- スイッチの通電状態は下記関数で取得する
/* スイッチの値を取得(0:OFF、それ以外:通電) */ int sw_value(void);
- ボタンが押されたときに何かをする
- 基本的には sleep を挟んでぶん回す(別のスレッドで)
恐るべきスイッチのコード
こんなコードを書いていた時期もありました…。
int is_pressed() { return sw_value(); } int main(void) { while(1) /* for(;;)派の人とはきっと仲良くなれない */ { if( is_pressed() ){ do_someting(); } usleep(XX); } }
さて、問題です。
上記のコードを動かしたとき、何が起こるでしょうか。次回に続く。
Nintendo Switch Joy-Con (L) ネオンブルー/ (R) ネオンレッド
- 出版社/メーカー: 任天堂
- 発売日: 2017/03/03
- メディア: Video Game
- この商品を含むブログ (5件) を見る