VB6.0用掲示板の過去のログ(No.2)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [管理用]

投稿日: 2007/05/18(Fri) 11:58
投稿者ダンボ
Eメール
URL
タイトルRe: LED制御について

> 質問:LEDが1〜4まであり
> ボタンを押すと1が点灯
> もう1度押すと1が消灯し2が点灯
> もう1度押すと2が消灯し3が点灯・・・
>         lRet = DioInpBit(lHandle, 0, bRet(0))
>         lRet = DioOutBit(lHandle, 0, 1)

面白そうな話題なんですが、DioInpBitとDioOutBitの仕様を説明してください。

特に問題になることは、
・各LEDはS/Wを兼用しているんですね。すなわち対応する4つのS/Wがある。
・bRet(i)が点灯状態を示すのか、あるいはボタンが押されたことを示すのか。
・点灯順番があり、LED1→LED2→LED3→LED4→LED1・・・
・点いているLED1を押すとLED1が消えてLED2が点く。
・点いていないLEDxを押すとLEDxが点く。そのときまで点いていたLEDyは消す。
・無限ループだとするとWaitを入れないとCPU100%になってしまうが良いのか?
 普通は数ミリ秒ごとにS/Wを見るか、S/Wからの割り込みがあるか

これらを整理して素直に表現すればおのずから解決すると思いますよ。
ソースコードも状態表示の部分と操作対応の部分を明確に意識した方が分かりやすい。


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- VBレスキュー(花ちゃん) - - Web Forum -