@hobbyelectronics
скорость LPT порта
вопрос скорости : LPT будет быстрее дергать ногами, чем avr'ka ? я с ним ни разу не работал. интересно.
RETI ;рети-рети интеррапт, через шины данных тракт, через память, через порт, возвращайся в главный код
@hobbyelectronics
@hobbyelectronics
- Реклама
- Сообщения: 3385
- Зарегистрирован: Пн окт 11, 2010 19:00:08
А какая тактовая частота будет у аврки?
И еще нужно учесть что винда это многозадачная система со всеми вытекающими.
PS.
Пишите прогу, дергающую лапками LPT.
Смотрите осциллографом какая частота и форма сигнала, и главное, будут ли провалы в дергании лапками (а они будут и причина названа выше).
И еще нужно учесть что винда это многозадачная система со всеми вытекающими.
PS.
Пишите прогу, дергающую лапками LPT.
Смотрите осциллографом какая частота и форма сигнала, и главное, будут ли провалы в дергании лапками (а они будут и причина названа выше).
у меня линух 
RETI ;рети-рети интеррапт, через шины данных тракт, через память, через порт, возвращайся в главный код
@hobbyelectronics
@hobbyelectronics
я, конечно, могу ошибаться, но вроде бы предельная пропускная способность LPT-порта составляет около 1,5 мегабайта в секунду. то есть "дрыгать ногами" с частотй больше 1,5 Мгц LPT никак не сможет, причем эта цифра - абсолютный потолок, практически недостижимый.
мои собственные "исследования" дали такой результат: в Windiows (думаю, с линухом разница будет невелика) не дает получить период импульсов меньше, чем 10 мкс - частично из-за своих собственных дел, частично из-за того, что программно быстрее в порт просто данные не пихаются. 10 мкс - это 100 кГц. кстати, период довольно нестабильный - из-за многопоточности и многозадачности.
таким образом, при соревновании с AVR, которому подрыгать ногой на частоте 8 Мгц - не проблема, LPT нервно курит в сторонке...
мои собственные "исследования" дали такой результат: в Windiows (думаю, с линухом разница будет невелика) не дает получить период импульсов меньше, чем 10 мкс - частично из-за своих собственных дел, частично из-за того, что программно быстрее в порт просто данные не пихаются. 10 мкс - это 100 кГц. кстати, период довольно нестабильный - из-за многопоточности и многозадачности.
таким образом, при соревновании с AVR, которому подрыгать ногой на частоте 8 Мгц - не проблема, LPT нервно курит в сторонке...
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- Сообщения: 3385
- Зарегистрирован: Пн окт 11, 2010 19:00:08
- Реклама
- Сообщения: 298
- Зарегистрирован: Ср дек 30, 2009 09:55:39
если сравнивать то, как сказано выше - зависит от тактовой авр-ки.Кислый писал(а):LPT будет быстрее дергать ногами, чем avr'ka ?...
если строго отвечать на ваш вопрос - скорость LPT = скорость TTL логики. это потолок. в байтах.
если вам приминительно к осям - то форточки (тут уже прозвучало) - медленно. досик сможет взять почти всё.
удачи вам
(круглый)
мне собственно вот для чего. для учебного процесса в колледж был отдан светодиодный куб 5x5x5. теперь c "наставником" придумываем для студентов.
пришли к тому что пусть радиотехники управляют им с аврки, а асушники через lpt
пришли к тому что пусть радиотехники управляют им с аврки, а асушники через lpt
RETI ;рети-рети интеррапт, через шины данных тракт, через память, через порт, возвращайся в главный код
@hobbyelectronics
@hobbyelectronics
Кислый писал(а):пришли к тому что пусть радиотехники управляют им с аврки, а асушники через lpt
на смешанной лекции (несколько потоков в одной аудитории) одна первокурсница опоздала и препод ее спрашивает (чтобы в журнале отметить):
- вы откуда?
- я с АСУ...
- я не спрашиваю, чем вы занимаетесь, я интересуюсь - откуда вы?
аудитория ржала до перерыва всем составом
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
там еще и ЗАС-АСУ есть
RETI ;рети-рети интеррапт, через шины данных тракт, через память, через порт, возвращайся в главный код
@hobbyelectronics
@hobbyelectronics
к вопросу про линуху и винду, точнее их многозадачность - под форочками нужно писать свой драйвер ЛПТ, который будет закрывать порт на монопольность - тогда с порта можно будет выжать максимум (или почти максимум) того, чтопозволит мама (или контроллер), под лдинухой получить монопольный доступ к порту проще...
мысли мысли штош вы вйотесь
над мойейу головойу
вы там мосга нинайдете
нед там мосга! йа тупойе (БОР)
над мойейу головойу
вы там мосга нинайдете
нед там мосга! йа тупойе (БОР)
что-то непонятное сказали... какая там еще монопольность?DJ_Kiridza писал(а):к вопросу про линуху и винду, точнее их многозадачность - под форочками нужно писать свой драйвер ЛПТ, который будет закрывать порт на монопольность
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
виндовс, в силу своей мультизадачности, пытается делить системные ресурсы между кучей процессов, это как-бы понятно да, так вот ,есть процессы, которые пытаются определить оборудование подключенное к ЛПТ порту (тот-же пнп например) и т.п. - монопольный драйвер "закрывает" доступ виндовс и другим программам к ЛПТ порту, оставляя его открытым только одной программе (которая напрямую работает с драйвером). Скорости современной вычислительной техники вполне хватает, чтобы в выделеном диапазрне процессорного времени адекватно работать с портом практически на масималку, при этом не ущемляя другие процессы, задача сводится только к тому - чтобу отбить у виндовс охоту опрашивать порт... под линухом с этим легче...
мысли мысли штош вы вйотесь
над мойейу головойу
вы там мосга нинайдете
нед там мосга! йа тупойе (БОР)
над мойейу головойу
вы там мосга нинайдете
нед там мосга! йа тупойе (БОР)
не буду настаивать на своей точке зрения, т.к. не являюсь гуру windows-программирования на уровне ядра, но по-моему, вы говорите ерунду. LPT не является PnP девайсом, и подключение к нему не обнаруживает система вообще, винда его не трогает, если ее никто не просит.
любое устройство открывается МОНОПОЛЬНО, и никаких хитростей для этого не требуется: если моя прога открыла LPT - ваша не получит к нему доступ, как бы вы ни старались, пока моя не закроет.
любое устройство открывается МОНОПОЛЬНО, и никаких хитростей для этого не требуется: если моя прога открыла LPT - ваша не получит к нему доступ, как бы вы ни старались, пока моя не закроет.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Немного не согласен.

В LPT есть поддержка PnP.
На счёт монопольности тоже не согласен. Сам не раз замечал, что несколько программ могут одновременно работать с этим портом. Плюс к этому, в ХР на порту сидит драйвер принтера, который мне пару раз создавал геморрой при программировании LPT.
То есть родной драйвер постоянно следит за одной ногой LPT. Если там изменился лог. уровень, то драйвер начинает слать запросы. Причём независимо, использует ли сторонняя программа его или нет.
А вот COM порт если занят, то его уже не займёшь. То есть там работа монопольная.

В LPT есть поддержка PnP.
На счёт монопольности тоже не согласен. Сам не раз замечал, что несколько программ могут одновременно работать с этим портом. Плюс к этому, в ХР на порту сидит драйвер принтера, который мне пару раз создавал геморрой при программировании LPT.
То есть родной драйвер постоянно следит за одной ногой LPT. Если там изменился лог. уровень, то драйвер начинает слать запросы. Причём независимо, использует ли сторонняя программа его или нет.
А вот COM порт если занят, то его уже не займёшь. То есть там работа монопольная.
I am DX168B and this is my favourite forum on internet!
- Сообщения: 3385
- Зарегистрирован: Пн окт 11, 2010 19:00:08
С этом можно поспорить.ARV писал(а):если моя прога открыла LPT - ваша не получит к нему доступ, как бы вы ни старались, пока моя не закроет.
Я как-то устраивал "войну" драйверов.
Какой драйвер использовал уже не помню, а сторонний был Smport.sys.
Вот, когда сторонняя прога работала с LPT посредством Smport.sys я запускал свою и "натравливал" на тот же порт.
Моя прога естественно подала, но исключение перехватывалось и она продолжала работать дальше. После чего драйвер Smport.sys терял контроль над портом, а моя прога работала с портом как родная.
ну что ж, глупое построение драйверов - тут я ничего поделать не могу 
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
я "многопользовательский" доступ к порту тоже заметил когда спаял и подключил свою железяку к порту и начал самописаной прогой рулить этой железякой - винда тут-же начала пататься определить что же за зверь такой подключен, чем собственно вмешивалась в работу устройства... также сам не раз был свидетелем как винда автодетектила принтера и сканеры на лпт.порту сразу после подключения последних.... также пересылал между прогами инфу через порт (пишу в порт данных одной прогой, а читаю другой - состояние ног не сбрасывается до тех пор, пока их кто-то не сбросит принудительно)...
ну тут нельзя сказать глуппое построение драйверов, правельнее будет выразиться "иное"...
кто его знает зачем так, может так действительно удобнее для некоторых задач, но факт остаётся...
ну тут нельзя сказать глуппое построение драйверов, правельнее будет выразиться "иное"...
кто его знает зачем так, может так действительно удобнее для некоторых задач, но факт остаётся...
мысли мысли штош вы вйотесь
над мойейу головойу
вы там мосга нинайдете
нед там мосга! йа тупойе (БОР)
над мойейу головойу
вы там мосга нинайдете
нед там мосга! йа тупойе (БОР)
Еще как трогает. Как верно заметили - по дефолту его дёргает драйвер принтера, и при подключении принтера винда радостно об этом сообщает.LPT не является PnP девайсом, и подключение к нему не обнаруживает система вообще, винда его не трогает, если ее никто не просит.
Непомню только, где-то в реестре есть ключик, изменением которого можно запретить загрузку драйвера принтера. Тогда мешать не будет. PnP можно выключить в "свойствах" LPT порта.
Что ещё удивительнее мне показалось, что последний записанный байт по адресу 888(dec) (регистр DATA) сохраняется даже при перезагрузке ОС. Заметил, что если запишу туда, к примеру 0xBF, то при опросе биоса и во время первичной загрузки ОС, светодиоды, подключенные к нему отображают значение 0xFF. И так и стоит, до тех пор, пока не выберу пользователя и пока не введу пароль. После входа в ОС, на порту восстанавливается последнее записанное в него значение. 0xBF Обычно моя программа при закрытии пишет 0x00 в порт. Вот значение и сохраняется.
Может не везде так, но у меня так. Может это особенность драйвера порта.
Что ещё удивительнее мне показалось, что последний записанный байт по адресу 888(dec) (регистр DATA) сохраняется даже при перезагрузке ОС. Заметил, что если запишу туда, к примеру 0xBF, то при опросе биоса и во время первичной загрузки ОС, светодиоды, подключенные к нему отображают значение 0xFF. И так и стоит, до тех пор, пока не выберу пользователя и пока не введу пароль. После входа в ОС, на порту восстанавливается последнее записанное в него значение. 0xBF Обычно моя программа при закрытии пишет 0x00 в порт. Вот значение и сохраняется.
Может не везде так, но у меня так. Может это особенность драйвера порта.
I am DX168B and this is my favourite forum on internet!
если использовать ножку lpt в качестве земли, она выдержит 25 noname диодов ? диоды китайские, 5мм, матовые , без паспорта
RETI ;рети-рети интеррапт, через шины данных тракт, через память, через порт, возвращайся в главный код
@hobbyelectronics
@hobbyelectronics


