Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Чт мар 28, 2024 21:06

...
Google Search
Forth-FAQ Spy Grafic

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 29 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: программирование портов ввода-вывода под WinXP
СообщениеДобавлено: Пт фев 05, 2010 19:21 
Не в сети

Зарегистрирован: Чт фев 04, 2010 20:09
Сообщения: 7
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
надо писать и читать в ЛПТ-порт под ХР желательно использовать только СП-ФОРТ.
Пожалуйста, подскажите решение или где можно про это почитать.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пт фев 05, 2010 19:26 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
Команда in al, dx имеет код 0xEC, команда out dx, al - 0xEE. Главная проблема - получить доступ к портам ввода-вывода под XP, поскольку его там нет, и не факт, что получится продраться через уже установленный драйвер. Можно посмотреть что-нибудь вроде giveio.sys и им подобных "фиктивных драйверов", делающих вид, что в компьютере одно большое устройство ввода-вывода, к которому всем можно обращаться. Но за такой постановкой задачи видится что-то еще... что? Может быть, не надо ориентироваться на заранее проблемный путь?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пт фев 05, 2010 19:28 
Не в сети

Зарегистрирован: Чт ноя 23, 2006 00:44
Сообщения: 494
Откуда: СПб
Благодарил (а): 19 раз.
Поблагодарили: 8 раз.
При помощи сторонней dll-ки см. тут http://nncron.ru/forums/viewtopic.php?f ... 72&start=0
Кста, а чего это вас в последнее время прорвало на данную тему? ;)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пт фев 05, 2010 19:45 
Не в сети

Зарегистрирован: Чт фев 04, 2010 20:09
Сообщения: 7
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Хищник писал(а):
Команда in al, dx имеет код 0xEC, команда out dx, al - 0xEE.

спасибо конечно, но через сторонние драйвера медленно, да и таскать их надо за собой, затем в Windows/Sistem32/drivers/ как то записывать и потом в реестре регестрировать. может можно как-нибуть одним SP-Forth-ом?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пт фев 05, 2010 19:48 
Не в сети

Зарегистрирован: Чт фев 04, 2010 20:09
Сообщения: 7
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Ilya писал(а):
При помощи сторонней dll-ки см. тут http://nncron.ru/forums/viewtopic.php?f ... 72&start=0
Кста, а чего это вас в последнее время прорвало на данную тему? ;)

спасибо и вам.. но теже вопросы и остались..
меня не прорывало. лично я поднял этут ему только тут один раз..


Последний раз редактировалось Vinci Пт фев 05, 2010 19:51, всего редактировалось 1 раз.

Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пт фев 05, 2010 19:49 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
Vinci писал(а):
спасибо конечно, но через сторонние драйвера медленно, да и таскать их надо за собой, затем в Windows/Sistem32/drivers/ как то записывать и потом в реестре регестрировать. может можно как-нибуть одним SP-Forth-ом?

SP-Форт тут совершенно ни при чем, равно как и любой другой Форт, и вообще язык программирования. Выше я уже написал машинные коды для ассемблерных команд, которые обеспечивают доступ к портам, можно хоть "руками" поставить их в свой код. Вот только попытка их исполнения, абсолютно безотносительно используемого языка, приведет к ошибке защиты. Прикладные программы не имеют права обращаться к портам ввода-вывода, это может только драйвер устройства.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пт фев 05, 2010 19:54 
Не в сети

Зарегистрирован: Чт фев 04, 2010 20:09
Сообщения: 7
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Хищник писал(а):
Прикладные программы не имеют права обращаться к портам ввода-вывода, это может только драйвер устройства.
я запуская под ХР такие программы таких как Лабвью или программу программатора и они спокойно работают с портами - такое ощущение что как под ДОС..


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пт фев 05, 2010 19:57 
Не в сети

Зарегистрирован: Чт ноя 23, 2006 00:44
Сообщения: 494
Откуда: СПб
Благодарил (а): 19 раз.
Поблагодарили: 8 раз.
Vinci писал(а):
Хищник писал(а):
Команда in al, dx имеет код 0xEC, команда out dx, al - 0xEE.

спасибо конечно, но через сторонние драйвера медленно, да и таскать их надо за собой, затем в Windows/Sistem32/drivers/ как то записывать и потом в реестре регестрировать. может можно как-нибуть одним SP-Forth-ом?

Не совсем так!
Либа dlportio.dll не требует манипуляций с реестром и регистрацией!
Достаточно поместить с самим СПФ-ом!


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пт фев 05, 2010 19:59 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
Vinci писал(а):
я запуская под ХР такие программы таких как Лабвью или программу программатора и они спокойно работают с портами - такое ощущение что как под ДОС..

Можно работать с LPT1 с помощью стандартных сервисов ОС. Например, открыть файл и писать в него. Но вся линейка NT, свойства которой унаследовала и XP, с портами работать не дает. Только Win 95/98. Кстати, уже точно известно, что Win API не обеспечивает требуемой функциональности? Может, там и так есть нужные вещи?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пт фев 05, 2010 20:03 
Не в сети

Зарегистрирован: Чт ноя 23, 2006 00:44
Сообщения: 494
Откуда: СПб
Благодарил (а): 19 раз.
Поблагодарили: 8 раз.
Vinci писал(а):
Хищник писал(а):
Прикладные программы не имеют права обращаться к портам ввода-вывода, это может только драйвер устройства.
я запуская под ХР такие программы таких как Лабвью или программу программатора и они спокойно работают с портами - такое ощущение что как под ДОС..

Вот эти проги наверняка используют собственные дрова!
Не думаю, что связка СПФ<->сторонняя ДЛЛ-ка, будет работать медленнее Лабвью.
А какой период опроса порта?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пт фев 05, 2010 20:10 
Не в сети

Зарегистрирован: Чт фев 04, 2010 20:09
Сообщения: 7
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
на LPT висит данчик - относительный энкодер который крутит достаточно быстро - необходимо оперативно, без пропусков следить за его смещением. и дополнительно управлять Шаговым мотором. ЕСли бы я это делал изначально я бы использовал микроконтроллер, но оборудование уже есть и оно нормально работало под ДОС - а под ХР выдаёт ошибки..переделывать оборудования нет желания.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пт фев 05, 2010 20:13 
Не в сети

Зарегистрирован: Чт фев 04, 2010 20:09
Сообщения: 7
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Ilya писал(а):
[Либа dlportio.dll не требует манипуляций с реестром и регистрацией!
Достаточно поместить с самим СПФ-ом!

спасибо, в понедельник буду пробавать


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пт фев 05, 2010 20:31 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
Vinci писал(а):
на LPT висит данчик - относительный энкодер который крутит достаточно быстро - необходимо оперативно, без пропусков следить за его смещением. и дополнительно управлять Шаговым мотором. ЕСли бы я это делал изначально я бы использовал микроконтроллер, но оборудование уже есть и оно нормально работало под ДОС - а под ХР выдаёт ошибки..переделывать оборудования нет желания.

могу сказать только одно, не лезте в винду, вам нужна система реального времени! винда таковой не является, пропуски будут в любом случае.
Такими вещами занимается QNX, вроде бы было RT ядро под линух(старенькое?)

_________________
Мне бы только мой крошечный вклад внести,
За короткую жизнь сплести
Хотя бы ниточку шёлка.
fleur


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пт фев 05, 2010 21:20 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 13:19
Сообщения: 3565
Откуда: St.Petersburg
Благодарил (а): 4 раз.
Поблагодарили: 72 раз.
Vinci писал(а):
ЕСли бы я это делал изначально я бы использовал микроконтроллер, но оборудование уже есть и оно нормально работало под ДОС


А почему это оборудование и дальше нельзя использовать с нормальным ДОС-ом?

_________________
С уважением, WingLion
Forth-CPU . RuF09WE
Мой Форт
Отсутствие бана это не заслуга юзера, а недоработка модератора (с)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пт фев 05, 2010 23:39 
Не в сети
Аватара пользователя

Зарегистрирован: Вт мар 20, 2007 23:39
Сообщения: 1261
Благодарил (а): 3 раз.
Поблагодарили: 19 раз.
Хищник писал(а):
Кстати, уже точно известно, что Win API не обеспечивает требуемой функциональности?

Цитата:
Разработчики NT с целью обеспечения безопасности использования совместных аппаратных ресурсов компьютера, запретили к ним прямой доступ из программ пользовательского режима (по сути дела из любых программ).

Соответственно необходимо использовать либо длл либо специальный драйвер.

_________________
Cтоимость сопровождения программного обеспечения пропорциональна квадрату творческих способностей программиста.
Роберт Д. Блисc


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 29 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 3 часа [ Летнее время ]


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5


Вы не можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
phpBB сборка от FladeX // Русская поддержка phpBB