Специальные цены   новые товары
Закрытая тема
Показано с 1 по 13 из 13

help-програмирование lpt порта

Тема раздела Аппаратура радиоуправления в категории Cамолёты - Общий; Не получается считывать данные с регистра состояния LPT порта Может XP мешает? Что делать? Обращаюсь к нему на СИ++ .......

  1. #1

    Регистрация
    05.06.2005
    Адрес
    Москва
    Сообщений
    5

    help-програмирование lpt порта

    Не получается считывать данные с регистра состояния LPT порта
    Может XP мешает? Что делать? Обращаюсь к нему на СИ++ ....

  2.  
  3. #2
    nicetry
    Цитата Сообщение от Команда Посмотреть сообщение
    Не получается считывать данные с регистра состояния LPT порта
    Может XP мешает? Что делать? Обращаюсь к нему на СИ++ ....
    мешает. в любой нормальной ОС лезть к портам напрямую из юзер-спейса нельзя. используй стандартнрые девайсы или пиши свой драйвер.

  4. #3

    Регистрация
    05.06.2005
    Адрес
    Москва
    Сообщений
    5
    Цитата Сообщение от nicetry Посмотреть сообщение
    мешает. в любой нормальной ОС лезть к портам напрямую из юзер-спейса нельзя. используй стандартнрые девайсы или пиши свой драйвер.
    и как мне быть?

  5. #4

    Регистрация
    27.04.2005
    Адрес
    Владивосток
    Сообщений
    7
    Цитата Сообщение от Команда Посмотреть сообщение
    и как мне быть?
    Пробуй из под 98-й. Она пропускает

  6.  
  7. #5
    nicetry
    Цитата Сообщение от Penguin Посмотреть сообщение
    Пробуй из под 98-й. Она пропускает
    это не совсем верно... точнее совсем не верно как 98, так и NT позволяет обращаться из юзер-спейса к портам из нижнего адресного пространства (до 0x3FF вроде бы).. НО!!!! только ДОС-приложениям в рамках эмуляции ДОС.
    к тому же, если ты пишешь тиражируемое приложение - похорони идею писать его под 98 винды.

    PS: еще можно посоветовать обращаться за советами в соответсвующий форум, а то тут тебе насоветуют

  8. #6
    Давно не был
    Регистрация
    02.08.2002
    Адрес
    Москва
    Возраст
    39
    Сообщений
    3,117
    Цитата Сообщение от nicetry
    PS: еще можно посоветовать обращаться за советами в соответсвующий форум, а то тут тебе насоветуют
    Ну почему же? Рассказываю.

    1. Простое решение: Под NT/2000/XP взять и разрешить прямой доступ (нужны только права администратора). Вся необходимая информация и драйвер тут: http://www.beyondlogic.org/porttalk/porttalk.htm

    2. Если нужно еще проще, чем п. 1, тогда поможет вот это: http://www.logix4u.net/inpout32.htm Одна DLL, без _отдельного_ драйвера.

    3. Написать (а лучше взять готовый, или собрать из примера в DDK) свой драйвер устройства.

    ps: Ресурсы по параллельному порту:

    1. Еще сайте BeyondLogic про параллельный порт: http://www.beyondlogic.org/index.html раздел "Parallel Port Interfacing".
    2. Еще сайт про параллельный порт "Parallel Port Central": http://www.lvr.com/parport.htm

  9. #7
    nicetry
    простите, нисколько не хотел задеть форум или форумчан, просто выразился неудачно, я хотел сказать, что существуют другие форумы, более заточенные под такие вопросы
    и всё-таки, при всё уважении хочется заметить: если есть желание обращаться к произвольным портам, то путь один - написать драйвер, всё остальное - костыли, которые зачастую ломаются после следующего же изменения в windows.
    но на мой взгляд лезть к портам вообще не нужно, LPT - стандартный девайс и обращатся к нему нужно стандартными для системы методами.

  10.  
  11. #8
    Давно не был
    Регистрация
    02.08.2002
    Адрес
    Москва
    Возраст
    39
    Сообщений
    3,117
    Цитата Сообщение от nicetry
    но тут рождается другой вопрос: если человеку нужно работать со стандартным портом, то почему бы не использовать стандартные средства ? почему обязательно нужно лезть к портам ?
    Скорее всего, ему нужно не байты пересылать, а управлять отдельными pin'ами порта, включая всякие там "strobe", "line feed" и прочие. Так как, скорее всего, учитывая местную специфику, это связано с управлением чпу станком.

    ps: Драйверы тоже от версии к версии переписывать иногда надо. Большое количество дров для NT не работает в XP и 2000. Смотря что и как написано. PortTalk - очень хорошее решение для уже написанных продуктов (при чем давно и зачастую под дос, как, например симулятор CSM).

  12. #9
    nicetry
    ну что тут сказать ? при любом подходе засад хватает, операционка такая

  13. #10

    Регистрация
    05.06.2005
    Адрес
    Москва
    Сообщений
    5
    Незнаю как но у меня всё срослось, экспериментально выяснол,
    что чтобы считать регистр состояния LPT, надо сначала, пофиг че запихнуть в регистр данных.
    Причем запись в регистр данных на моем компе производится только
    2-16 кратным повторением одного и одного и тогоже байта.
    На это я убил тоже около недели. Вообщем спасибо.

  14. #11
    nicetry
    т.е. станок будет резать правильно со 2го - 16го прохода ? - круто!

  15. #12
    Давно не был
    Регистрация
    02.08.2002
    Адрес
    Москва
    Возраст
    39
    Сообщений
    3,117
    Цитата Сообщение от Команда
    Незнаю как но у меня всё срослось,
    Ну мы-то тем более ничего не знаем о ваших изысканиях. Вы бы написали поподробнее, глядишь - и прояснилось бы. Как минимум надо знать:
    1. версия os, если стоит servicepack - какой?
    2. язык и версия компилятора: фирма, версия, servicepack
    3. режим lpt порта: ecp/epp/bi-directional
    4. адрес порта, irq
    5. кусок кода программы, где мы пытаемся читать и писать в порт, опрашивать или устанавливать статус

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

  16. #13
    nicetry
    есть еще вариант: пиши под линукс
    там есть замечательная функция ioperm, которая открывает руту доступ к нижнему пространству портов. проверено, мин нет - мой текущий проект так и работает, весь код работы с портом - 300 строк с выкрутасами.

    PS: а такого, как описываеш - в принципе быть не может (во всяком случае не должно).

Закрытая тема

Похожие темы

  1. pcmcia -lpt порт в ноут, вопрос.
    от John63 в разделе Общие вопросы
    Ответов: 2
    Последнее сообщение: 23.02.2010, 21:58
  2. Припаять к порту LPT дополнительный драйвер
    от raport2000 в разделе Драйверы и контроллеры для CNC
    Ответов: 13
    Последнее сообщение: 27.06.2009, 23:18
  3. Как уйти от медленного lpt-порта?
    от Александр_ в разделе Драйверы и контроллеры для CNC
    Ответов: 84
    Последнее сообщение: 20.11.2008, 04:11
  4. Сколькими ногами LPT порта может дергать Mach3 ?
    от -=Женек=- в разделе Общие вопросы
    Ответов: 9
    Последнее сообщение: 08.05.2007, 23:39
  5. Питание с lpt-порта
    от beebee в разделе Самодельная электроника, компьютерные программы
    Ответов: 2
    Последнее сообщение: 29.03.2005, 18:33

Ваши права

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