ノイズに誤動作せず、NECフォーマットと家電協会フォーマットの両方で動作するためには、リーダー部の長さを見ればいいと気がつきました。
やれやれ。。。もっと早く気がつけよな!!
割り込みでリーダ部が始まったら、3点でチェックするのではなく、信号が立上がるまでポーリングしていて、立下りから立上がりまでの時間(負論理の信号になっています)を計ります。
リーダ部のこの部分の時間は、家電協会フォーマットは3.2mS、NECフォーマットは9mSありますので、3.2mS以上あればリーダ部だと判断すればいいことになります。
赤外線リモコン受光モジュールからの割り込み信号が入ったら、タイマー1をクリアして、受光モジュール信号をポーリングします。立上がったら、そのときのタイマー1のTMR1Hを読みます。
タイマー1はシステムクロック(4MHz)の1/4で動いています。プリスケーラを2としていますので、TMR1Hは0.512mSごとにカウントアップします。
TMR1Hのカウント値が6以上(3mS以上)ならリーダ部と判定します。
これで蛍光灯による誤動作がなく、NECフォーマットと家電協会フォーマットの両方で動作するようになりました。
これから先は、データ部の内容を読むことをすれば、また別の応用があるのですが。。。。。
赤外線リモコンでのコントロール その3
2007-02-26 20:35:31 (17 years ago)
-
カテゴリタグ:
- 未分類
- 前の記事:赤外線リモコンでのコントロール その2
- 次の記事:レーザープリンタを買いました
- Calendar
<< May 2024 >> Sun Mon Tue Wed Thu Fri Sat 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
- search this site.
- tags
-
- 未分類 (374)
- archives
-
- 201401 (2)
- 201305 (1)
- 201303 (1)
- 201301 (1)
- 201212 (1)
- 201211 (1)
- 201210 (1)
- 201209 (3)
- 201208 (4)
- 201207 (2)
- 201206 (3)
- 201205 (5)
- 201204 (1)
- 201203 (2)
- 201107 (1)
- 201105 (2)
- 201104 (4)
- 201007 (3)
- 201006 (5)
- 201005 (5)
- 201004 (10)
- 201003 (1)
- 201002 (21)
- 201001 (31)
- 200912 (31)
- 200911 (8)
- 200910 (11)
- 200909 (4)
- 200908 (1)
- 200907 (2)
- 200906 (1)
- 200905 (5)
- 200904 (5)
- 200903 (3)
- 200902 (1)
- 200901 (2)
- 200812 (10)
- 200811 (4)
- 200810 (5)
- 200809 (10)
- 200808 (6)
- 200807 (9)
- 200806 (15)
- 200805 (31)
- 200804 (30)
- 200803 (31)
- 200802 (29)
- 200801 (31)
- 200712 (31)
- 200711 (30)
- 200710 (31)
- 200709 (30)
- 200708 (31)
- 200707 (31)
- 200706 (30)
- 200705 (31)
- 200704 (30)
- 200703 (31)
- 200702 (28)
- 200701 (31)
- 200612 (31)
- 200611 (30)
- 200610 (30)
- 200609 (27)
- 200608 (7)
- 200607 (1)
- recent trackback