Forth http://fforum.winglion.ru/ |
|
программирование портов ввода-вывода под WinXP http://fforum.winglion.ru/viewtopic.php?f=18&t=2418 |
Страница 1 из 2 |
Автор: | Vinci [ Пт фев 05, 2010 19:21 ] |
Заголовок сообщения: | программирование портов ввода-вывода под WinXP |
надо писать и читать в ЛПТ-порт под ХР желательно использовать только СП-ФОРТ. Пожалуйста, подскажите решение или где можно про это почитать. |
Автор: | Hishnik [ Пт фев 05, 2010 19:26 ] |
Заголовок сообщения: | |
Команда in al, dx имеет код 0xEC, команда out dx, al - 0xEE. Главная проблема - получить доступ к портам ввода-вывода под XP, поскольку его там нет, и не факт, что получится продраться через уже установленный драйвер. Можно посмотреть что-нибудь вроде giveio.sys и им подобных "фиктивных драйверов", делающих вид, что в компьютере одно большое устройство ввода-вывода, к которому всем можно обращаться. Но за такой постановкой задачи видится что-то еще... что? Может быть, не надо ориентироваться на заранее проблемный путь? |
Автор: | Ilya [ Пт фев 05, 2010 19:28 ] |
Заголовок сообщения: | |
При помощи сторонней dll-ки см. тут http://nncron.ru/forums/viewtopic.php?f ... 72&start=0 Кста, а чего это вас в последнее время прорвало на данную тему? |
Автор: | Vinci [ Пт фев 05, 2010 19:45 ] |
Заголовок сообщения: | |
Хищник писал(а): Команда in al, dx имеет код 0xEC, команда out dx, al - 0xEE.
спасибо конечно, но через сторонние драйвера медленно, да и таскать их надо за собой, затем в Windows/Sistem32/drivers/ как то записывать и потом в реестре регестрировать. может можно как-нибуть одним SP-Forth-ом? |
Автор: | Vinci [ Пт фев 05, 2010 19:48 ] |
Заголовок сообщения: | |
Ilya писал(а): При помощи сторонней dll-ки см. тут http://nncron.ru/forums/viewtopic.php?f ... 72&start=0
Кста, а чего это вас в последнее время прорвало на данную тему? спасибо и вам.. но теже вопросы и остались.. меня не прорывало. лично я поднял этут ему только тут один раз.. |
Автор: | Hishnik [ Пт фев 05, 2010 19:49 ] |
Заголовок сообщения: | |
Vinci писал(а): спасибо конечно, но через сторонние драйвера медленно, да и таскать их надо за собой, затем в Windows/Sistem32/drivers/ как то записывать и потом в реестре регестрировать. может можно как-нибуть одним SP-Forth-ом?
SP-Форт тут совершенно ни при чем, равно как и любой другой Форт, и вообще язык программирования. Выше я уже написал машинные коды для ассемблерных команд, которые обеспечивают доступ к портам, можно хоть "руками" поставить их в свой код. Вот только попытка их исполнения, абсолютно безотносительно используемого языка, приведет к ошибке защиты. Прикладные программы не имеют права обращаться к портам ввода-вывода, это может только драйвер устройства. |
Автор: | Vinci [ Пт фев 05, 2010 19:54 ] |
Заголовок сообщения: | |
Хищник писал(а): Прикладные программы не имеют права обращаться к портам ввода-вывода, это может только драйвер устройства. я запуская под ХР такие программы таких как Лабвью или программу программатора и они спокойно работают с портами - такое ощущение что как под ДОС..
|
Автор: | Ilya [ Пт фев 05, 2010 19:57 ] |
Заголовок сообщения: | |
Vinci писал(а): Хищник писал(а): Команда in al, dx имеет код 0xEC, команда out dx, al - 0xEE. спасибо конечно, но через сторонние драйвера медленно, да и таскать их надо за собой, затем в Windows/Sistem32/drivers/ как то записывать и потом в реестре регестрировать. может можно как-нибуть одним SP-Forth-ом? Не совсем так! Либа dlportio.dll не требует манипуляций с реестром и регистрацией! Достаточно поместить с самим СПФ-ом! |
Автор: | Hishnik [ Пт фев 05, 2010 19:59 ] |
Заголовок сообщения: | |
Vinci писал(а): я запуская под ХР такие программы таких как Лабвью или программу программатора и они спокойно работают с портами - такое ощущение что как под ДОС..
Можно работать с LPT1 с помощью стандартных сервисов ОС. Например, открыть файл и писать в него. Но вся линейка NT, свойства которой унаследовала и XP, с портами работать не дает. Только Win 95/98. Кстати, уже точно известно, что Win API не обеспечивает требуемой функциональности? Может, там и так есть нужные вещи? |
Автор: | Ilya [ Пт фев 05, 2010 20:03 ] |
Заголовок сообщения: | |
Vinci писал(а): Хищник писал(а): Прикладные программы не имеют права обращаться к портам ввода-вывода, это может только драйвер устройства. я запуская под ХР такие программы таких как Лабвью или программу программатора и они спокойно работают с портами - такое ощущение что как под ДОС..Вот эти проги наверняка используют собственные дрова! Не думаю, что связка СПФ<->сторонняя ДЛЛ-ка, будет работать медленнее Лабвью. А какой период опроса порта? |
Автор: | Vinci [ Пт фев 05, 2010 20:10 ] |
Заголовок сообщения: | |
на LPT висит данчик - относительный энкодер который крутит достаточно быстро - необходимо оперативно, без пропусков следить за его смещением. и дополнительно управлять Шаговым мотором. ЕСли бы я это делал изначально я бы использовал микроконтроллер, но оборудование уже есть и оно нормально работало под ДОС - а под ХР выдаёт ошибки..переделывать оборудования нет желания. |
Автор: | Vinci [ Пт фев 05, 2010 20:13 ] |
Заголовок сообщения: | |
Ilya писал(а): [Либа dlportio.dll не требует манипуляций с реестром и регистрацией!
Достаточно поместить с самим СПФ-ом! спасибо, в понедельник буду пробавать |
Автор: | mOleg [ Пт фев 05, 2010 20:31 ] |
Заголовок сообщения: | |
Vinci писал(а): на LPT висит данчик - относительный энкодер который крутит достаточно быстро - необходимо оперативно, без пропусков следить за его смещением. и дополнительно управлять Шаговым мотором. ЕСли бы я это делал изначально я бы использовал микроконтроллер, но оборудование уже есть и оно нормально работало под ДОС - а под ХР выдаёт ошибки..переделывать оборудования нет желания.
могу сказать только одно, не лезте в винду, вам нужна система реального времени! винда таковой не является, пропуски будут в любом случае. Такими вещами занимается QNX, вроде бы было RT ядро под линух(старенькое?) |
Автор: | WingLion [ Пт фев 05, 2010 21:20 ] |
Заголовок сообщения: | |
Vinci писал(а): ЕСли бы я это делал изначально я бы использовал микроконтроллер, но оборудование уже есть и оно нормально работало под ДОС
А почему это оборудование и дальше нельзя использовать с нормальным ДОС-ом? |
Автор: | VoidVolker [ Пт фев 05, 2010 23:39 ] |
Заголовок сообщения: | |
Хищник писал(а): Кстати, уже точно известно, что Win API не обеспечивает требуемой функциональности? Цитата: Разработчики NT с целью обеспечения безопасности использования совместных аппаратных ресурсов компьютера, запретили к ним прямой доступ из программ пользовательского режима (по сути дела из любых программ).
Соответственно необходимо использовать либо длл либо специальный драйвер. |
Страница 1 из 2 | Часовой пояс: UTC + 3 часа [ Летнее время ] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |