Обработчик прерываний LPT порта (IRQ7)

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
newonline
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 115
Зарегистрирован: 13.08.2005 (Сб) 14:50
Откуда: Воронеж

Обработчик прерываний LPT порта (IRQ7)

Сообщение newonline » 01.10.2005 (Сб) 10:58

Добросовестно перелопатил ресурсы нета и теперь думаю, что могу вынести вопрос на форум.
Собственно говоря ищу библиотеку или компонент, который наряду с Read/Write данные в LPT имеет процедуру или функцию обработки аппаратного прерывания LPT (замкнул pin 10 - выполнилась процедура). Вот собственно и все.
Помогите если есть у кого ссылка на ресурс. Разумеется нужен full free компонент.
SPASIBO ZARANEE :D
Оно конечно да, ежели что как...а то ведь как получится, так вот вам и пожалуйста...

Alexander N. Samarin
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 397
Зарегистрирован: 05.03.2005 (Сб) 20:59
Откуда: Интернат 18 (СУНЦ МГУ), комната 214А, кровать посередине

Сообщение Alexander N. Samarin » 02.10.2005 (Вс) 10:30

Вложения
inpout32.zip
(11.72 Кб) Скачиваний: 33
На это не смотрите! Это не подпись!!!!!!

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 02.10.2005 (Вс) 13:07

Alexander, судя по названию - это всё же не то...
Изображение

newonline
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 115
Зарегистрирован: 13.08.2005 (Сб) 14:50
Откуда: Воронеж

Сообщение newonline » 02.10.2005 (Вс) 14:23

Я несколько продвинулся в этом вопросе.
По сути дела я собираю датчик пройденного пути (временно в качестве колеса я приспособил движок от старого 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. Отсюда легко посчитать кол-во оборотов. :D

Проблема вот в чем:

Все работает отлично при скоростях до 1000 об/мин. При больших скоростях замыкание Pin10 начинает попадать между двух опросов порта и он, соответственно, пропускает регистрацию оборота. :(
Решение - либо проц мощнее - это хреновое решение, либо еще какой-нибудь наворот с портом.
Может кто-нибудь подскажет??? :(



[/code]
Оно конечно да, ежели что как...а то ведь как получится, так вот вам и пожалуйста...

newonline
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 115
Зарегистрирован: 13.08.2005 (Сб) 14:50
Откуда: Воронеж

Сообщение newonline » 02.10.2005 (Вс) 14:30

Вобщем то в идеале хотелось бы соорудить СОБЫТИЙНУЮ модель...
Как насчет помощи аудитории???? :D
Оно конечно да, ежели что как...а то ведь как получится, так вот вам и пожалуйста...

newonline
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 115
Зарегистрирован: 13.08.2005 (Сб) 14:50
Откуда: Воронеж

Сообщение newonline » 02.10.2005 (Вс) 16:24

Почему то не обнаружил кнопочку для исправления своего сообщения - поэтому добавляю.

Молчаливость коллектва на форуме вызывает тревогу...
Посмотрел http://www.sysadmins.ru/rtfm/ask_howto.htm - вроде бы старался как можно ближе к рекомендациям по корректному оформлению вопроса.......
Не уж то вопрос бестолковый??? :?
Надеюсь на помощь старших...по разуму.
Спасибо. :)
Оно конечно да, ежели что как...а то ведь как получится, так вот вам и пожалуйста...

newonline
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 115
Зарегистрирован: 13.08.2005 (Сб) 14:50
Откуда: Воронеж

Сообщение newonline » 03.10.2005 (Пн) 19:23

И на этом спасибо тебе, добрый человек. :(
Оно конечно да, ежели что как...а то ведь как получится, так вот вам и пожалуйста...

Info_m.be_free
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 154
Зарегистрирован: 27.02.2003 (Чт) 21:38
Откуда: Ирпень

Сообщение Info_m.be_free » 03.10.2005 (Пн) 21:41

будем подумать...

Ем вилкой...

Бяка
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 219
Зарегистрирован: 21.09.2005 (Ср) 21:28

Сообщение Бяка » 03.10.2005 (Пн) 23:56

А комп не подтупляет?:) Когдато у меня, в почти такомже коде, была загрузка цпу 99% почемуто :( пока я эти дувайлы и лупы на таймер не поменял

А проц мощнее то и ненуна ! это ведь при тыщи об/мин твоего датчика получается гЫдето чуть больне 16Гц - частота замыкания ножки 10 :roll:

Слушай а в уэтом Floppy 3.5 механизм замыкания какой? тупая механика или электромагнитный или оптический?

если механика то нуна от дребезга контактоф избавлятыся :wink:
совет вазми пообольше колесо (от филасипеда :P ) поставь туда геркон и магнитик на спицы! и ноу праблемы :D

гыдето у меня валалась прога " частотомер из LPT" - тапа считает количество импульсов за 1сек пришедьших на лпт- найду кину

newonline
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 115
Зарегистрирован: 13.08.2005 (Сб) 14:50
Откуда: Воронеж

Сообщение newonline » 04.10.2005 (Вт) 11:55

А вообще-то загрузку проца я и не посмотрел. Вроде через DoEvents комок не зацикливается в себе...
Посмотрю...
Оно конечно да, ежели что как...а то ведь как получится, так вот вам и пожалуйста...

newonline
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 115
Зарегистрирован: 13.08.2005 (Сб) 14:50
Откуда: Воронеж

Сообщение newonline » 04.10.2005 (Вт) 12:00

Насчет трещетки - ты прав. Но вообще-то те условия для работы в которых предназначен это датчик - его просто не будет слышно - в ГАЗельке. Но все равно - приспособить геркон - это идея получше.
Оно конечно да, ежели что как...а то ведь как получится, так вот вам и пожалуйста...

newonline
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 115
Зарегистрирован: 13.08.2005 (Сб) 14:50
Откуда: Воронеж

Сообщение newonline » 04.10.2005 (Вт) 12:02

А что, событийная модель с портом не пройдет??? :?
Оно конечно да, ежели что как...а то ведь как получится, так вот вам и пожалуйста...


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот, Yandex-бот и гости: 12

    TopList