投稿日 | : 2007/05/18(Fri) 17:02 |
投稿者 | : ダンボ |
Eメール | : |
URL | : |
タイトル | : Re^5: LED制御について |
再確認しますが、現在点いているLEDを調べる関数は無いんですね?
とすれば、これ さんのご指摘のような方法しかやりようが無いでしょう。
(このサブルーチンを呼ぶ方ではWaitを入れないとCPUビジーになることに注意)
Sub CheckAndLight()
Dim lRet As Long, bRet(1) As Byte
Static BitNo As Integer
lRet = DioInpBit(lHandle, 0, bRet(0)) '順次点灯スイッチと仮定する
lRet = DioInpBit(lHandle, 1, bRet(1)) 'リセットスイッチと仮定する
'リセットスイッチが押されている場合
If bRet(1) <> 0 Then BitNo = 0
'順次点灯スイッチが押されている場合
If bRet(0) <> 0 Then
Select Case BitNo
Case 0
LED1を消す
LED2を点ける
Case 1
LED2を消す
LED3を点ける
Case 2
LED3を消す
LED4を点ける
Case 3
LED4を消す
LED1を点ける
End Select
BitNo = BitNo + 1
If BitNo > 3 Then BitNo = 0
End If
End Sub