Я несколько продвинулся в этом вопросе.
По сути дела я собираю датчик пройденного пути (временно в качестве колеса я приспособил движок от старого Floppy 3.5 с механизмом замыкания). Я организовал постоянный цикл чтения состояния порта:
- Код: Выделить всё
Public Sub Process()
Do While Status = True 'пока не нажата кнопка СТОП
NewValue = DlPortReadPortUchar(&H379) 'значение состояния
If NewValue <> PrevValue Then 'если да, то произошло замыкание
'или размыкание Pin10
MyLen = MyLen + 0.5 'счетчик
Form1.Text2.Text = CStr(MyLen)
End If
PrevValue = NewValue
Form1.Text1.Text = CStr(PrevValue)
DoEvents 'даем отдышаться
Loop
End Sub
При замыкании Pin10 на землю, DlPortReadPortUchar(&H379) становится = 68, при размыкании - 126.
За один оборот двигателя механика 1 раз замыкает и размыкает Pin10. Отсюда легко посчитать кол-во оборотов.
Проблема вот в чем:
Все работает отлично при скоростях до 1000 об/мин. При больших скоростях замыкание Pin10 начинает попадать между двух опросов порта и он, соответственно, пропускает регистрацию оборота.
Решение - либо проц мощнее - это хреновое решение, либо еще какой-нибудь наворот с портом.
Может кто-нибудь подскажет???
[/code]
Оно конечно да, ежели что как...а то ведь как получится, так вот вам и пожалуйста...