Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

прерывание от LPT [D6, D7, WinXP]


Страницы:   1 2

Waso ©   (2005-05-14 21:13:00) 

Здравствуйте! Есть такая проблема - комп под XP нужно научить регистрировать импульсы, поступающие от датчика (счетчик Гейгера). Сейчас это организовано периодическим опросом 10-й ноги LPT (ACK) из-за чего ес-сно вся система неслабо подвисает. Крометого для этого необходимо собирать внешний одновибратор, дабы растягивать поступивший импульс так чтобы порт его заметил.
Очень хотелось-бы организовать что-то вроде прерывания от LPT по фронту входящего импульса, но незнаю возможно ли вообще такое... ??? и как??? =) Можно и к COM-порту подрубить, если там такое прокатит... Есть какиенибудь соображения?

Заранее благодарен.


Германн   (2005-05-17 14:29:00) [1]

2 Digitman ©   (17.05.05 13:36) [24]

Ну тут Вы Сергей несколько погорячились.
Все-таки термины Int из ассемблера и Interrupt из Паскаля присущи именно средам программирования.
Хотя насчет Дельфи Вы полностью правы.


Digitman   (2005-05-17 13:36:00) [2]


> Waso   (16.05.05 16:13) [19]
> И всетаки про прерывания в делфи ктонить ченить скажет???


нет в Делфи никаких "прерываний".
прерывание - термин/механизм, присущий процессору, а не среде программирования.


Waso   (2005-05-16 17:28:00) [3]

Всетаки самое вкусное во внешней DLL. Походу насчет авторизации тоже она орет... Буду добивать тему. Простите за кучу ламерских восклицаний. (Ну не шарю я в делфи) Модераторы! Kill'em all, please.


Waso   (2005-05-16 16:49:00) [4]

НАШОЛ...
http://www.wetdz.gov.cn/en/programfiles/Borland/Delphi7/Source/Samples/Spin.pas


Waso   (2005-05-16 16:41:00) [5]

Здорово! А за самое вкусненькое денег хотят... spin.pas


Waso   (2005-05-16 16:15:00) [6]

Чудеса! Отправить не успел а тут ужо ссылочки... Пасибки, Ща глянем... =)


Waso   (2005-05-16 16:13:00) [7]

Если уж говорить о серийном производстве, то помоему будет выгоднее погемароиться один раз с прогой и потом не тратиться на производство переходных железок.

И всетаки про прерывания в делфи ктонить ченить скажет???


Konstantin_M   (2005-05-16 13:47:00) [8]

http://www.entechtaiwan.com/tools.htm


Marser   (2005-05-16 02:10:00) [9]

Гы. Есть такой зверь, оказывается...


Marser   (2005-05-16 02:09:00) [10]

SetCommMask, правда. Про SetCommEvent впервые слышу.


Marser   (2005-05-16 02:08:00) [11]


> А еще делфа моя (6) не знает такой фичи как
> SetCommEvent. Зато знает WaitCommEvent. Както по
> другому надо эти эвенты настраивать...

Клевета! Знает она всё.


Германн   (2005-05-16 02:01:00) [12]

Славо богу! Инициатором разработок моей фирмы был - электронщик!
И, как и говорил KilkennyCat, мы сделали упор на создание "переходных электронных устройств" между "основной системой" и компьютером.

Но, если кто хочет "напрямую", то драйвер им в руки!
Или ДОС!

Ну, правда, мы не заморачивались "точностью до 1ms"!?


Waso   (2005-05-15 21:25:00) [13]

Вобщем прочитал я статейку Connecting an Interrupt Service Routine to a Parallel Port по адресу http://www.osronline.com/ddkx/parallel/vspd_06g7.htmи еще мнооого всякой инфы по поводу работы с lpt u com портами, но так и не понял как организовать прерывание в Дельфи. Я это себе представляю как процедуру типа OnClick например. Не подскажете где почитать?

А еще делфа моя (6) не знает такой фичи как SetCommEvent. Зато знает WaitCommEvent. Както по другому надо эти эвенты настраивать...


KilkennyCat   (2005-05-15 14:05:00) [14]

Ну так. Кто любит? Но есть золотая середина:  крутая железка - простая программа, простая железка - крутая программа. Вот и надо выбрать, что оптимальнее.
В данном случае я бы собрал к лпт присоединил бы регистр, это бы упростило все сразу, так как с его помощью можно и растянуть сигнал по времени, и считывать сразу партию сигналов...


Waso   (2005-05-15 13:59:00) [15]

Сенкс канеш. Нелюблю я лишний раз железки собирать... =)


KilkennyCat   (2005-05-15 13:42:00) [16]

Вообще, я бы все-таки собрал несложную железку, которая собирала бы импульсы, а потом выдавала бы данные по запросу.


KilkennyCat   (2005-05-15 13:40:00) [17]


> 1 кГц на COM проблематично.


но допустимо.


Маг Похмеляйнен   (2005-05-15 13:12:00) [18]

А время засекать можно ф-ей KeQueryPerformanceCounter.


Маг Похмеляйнен   (2005-05-15 13:10:00) [19]

1 кГц на COM проблематично.
Время от поступления сигнала прерывания до вызова обработчика обычно постоянно, и занимает от единиц до десятка мкс, в зависимости от быстродействия проца.


KilkennyCat   (2005-05-15 12:48:00) [20]

Ну, с такой частотой не должно быть проблем с любым вариантом решения. Можно и без прерывания. Можно и через СОМ. Можно даже через звуковую карту изватиться.
А вот с точностью... Если точность критична, то я бы лучше все сделал бы через самодельный буфер.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо