У меня получается, что при практически пустой ISR она не может вызываться чаще 50кгц(ориентировочно). Если поставить внешнюю частоту больше 50 кгц - то ISR будет соответственно вызываться реже, чем этого требует внешнее устройство... Что-то мне подсказывает, что предельная частота должна быть побольше(мегагерц хотябы ). Интересно, насколько можно улучшить ситуацию, написав свой обработчик прерывания LPT чисто на асме? И вообще, хотелось бы узнать кто с какой максимальной частотой обработки прерывания ЛПТ сталкивался...
Скорость самого LPT в нормальном режиме, При просто считывании\записи не дожидаясь подтверждений у меня 1 MH. Правда не на всех машинах, на некоторых падает до 600 kH. Видимо зависит от микробы. Но это скорость обновления передачи.
Это максимальная скорость обновления дата-линий, я правильно понимаю? А мне надо вроде бы чиста по прерыванию считывать. Получается, у тебя там стоит поток, который постоянно мониторит изменение состояний линий? Интересно тогда, какой ты у него выставляешь приоритет? Если сделать LOW_PRIORITY, то в момент переключения с этого потока начнется потеря данных, а если выставить HIGH or LOW_REAL_TIME_PRIORITY, то такой поток если будет что-то поллить - всю систему повесит...
Я ставлю высокий приоритет. Но после того как на линии произошли изменения. Считываю по счётчику нужное количество дампа, затем убиваю считавшую нить. Мне нужна максимальная скорость считывания и "подвес" системы на момент считывания меня не колышит. Считывается во времени от четверти секунды до 16 секунд. Дальше мне уже ничего не нужно, дальше вступают в работу анализаторы.
А как у тебя различаются одинаковые под ряд идущие байты. Чиста по времени что ли? Или может одна линия у тебя используется в качестве флажка типа "данные получены"? Было бы выходом так мониторить линии, если бы система не подвесала... А если комп многопроцессорный, то подвисания по идее быть не должно...
Я считываю то, что вообще не предназначено для считывания, и разбираюсь с внутренней синхронизацией того что читал потом при анализе. Хочешь делать запрос\подтверждение и т.п. - забудь про МН, 400 кН максимум что получишь.
хотя бы 100kHz получить... Но вот какого хрена при практически не нагруженной ISR получается всего 50 kHz, даже меньше???(( Вот кстати, не понятно, вроде бы у тебя 1MHz получается не для Real-Time устройства. А зачем тогда такая большая скорость нужна, если это не RealTime устройство, а просто данные которые надо перекачать в комп?(ну, как я понимаю вроде...). А еще, откуда число 400kHz? Чисто экспериментальный факт, или это какой-то предел специальный для LPT?
Неа, неправильно понимаешь. Я снимаю сигнал. Разный сигнал. Сигнал с пультов, ИК и проводных, сигнал с микрух при работе в реальных устройствах, сигнал с ног ридеров транспондеров и т.д. и т.п. Это предел если посылать получать используя контрольные регистры. Во всех доках по LPT расписывается почему.
...А можешь дать ссылку на какой-нибудь один такой продвинутый мануал по лпт, где бы рассказывалось про эти 400машз, про предельную скорость? *****посылать получать используя контрольные регистры***** А как же еще можно передавать информацию через лпт??? Ну, регистр данных есть еще, хотя ты его наверное тоже имел ввиду...
Так можно просто выставлять состояния. Зная частоту можно разобраться потом. Дык у Гука того же IMHO я читал.
Я даже когда-то держал в руках эту "Энциклопедию"... Ну ладно, спасибо за ссылку А как же выставллять состояния?? Все-равно же надо писать/читать все те же порты... В чем разница?
Ну имеется ввиду что только и читать и писать, не тратить клоки на ожидания подтверждения и подтверждения в контрольных регистрах.
Понятно... Спасибо. Но все-таки хотелось бы еще выяснить с какой максимальной частотой может возникать прерывание LPT...
Гм-гм-гм... думаю всё рассудят доки: http://emfl.nm.ru/menu/lpt.html http://www.ee.washington.edu/circuit_archive/text/para-port.html http://www.cgu.chel.su/faculties/phys/maelab/_frames/_lpt_1.htm http://www.lvr.com/parport.htm http://www.entechtaiwan.com/tools.htm http://emanual.ru/download2/2717.html http://programmer.newmail.ru/programs/LPT/LPT.htm http://junglewin.narod.ru/lpt.html http://www.fapo.com/1284int.htm http://carradio.narod.ru/03.html кажись ничего не забыл, не утаил...Успехов!