usb to lpt
Никак.
Если планируете mach использовать то на USB нужен другой девайс (например NCPOD)
Для других программ - незнаю
На этом форуме утверждали нормальную работу PCMCI>LPT (сам читал, и не только тут), может это просто Ровет такие делает? Но на сайте www.rovermate.ru никаких ограничений не написано. Написал им на форум, ждемс.
Добрый день!
Приобрел я PCMCI>LPT www.rovermate.ru/site/accessories/…/RMA18
Принтер работает нормально, но вот контроллером управлять не получается. В диспетчере устройств появился порт, но адеса (ввод /вывод)не такие как на Настольном компьютере.
PCMCI>LPT переходник
FF98 - FF9F
FF90 - FF97
FFA0 - FFBFпосле установки принтера значения изменились
FFD8 - FFDF
FFD0 - FFD7
FFF0 - FFFFНа настольном
0378 - 037F
0778 - 077BMach (пока нет станка) не пробовал, но тестовые программы (которые крутят моторы на стационарном компьютере) через PCMCI>LPT не работают. И некоторые программы (где есть выбор порта LPT) не видят порта.
Может нужена какая программа дополнительно или хитрый драйвер/эмулятор. Подскажите пожалуйста.
У меня плата PCI -> LPT диапазон адресов:
С800-С807
СС00-СС07
Видится системой как LPT2. В маче указал адрес LPT2 С800 все работает!
Думаю, что с PCMCI будет тоже самое.
Удачи!!!
ЗЫ Поставьте мач и попробуйте… Для теста даже демо Вас устроит…
У меня плата PCI -> LPT диапазон адресов:
С800-С807
СС00-СС07
Видится системой как LPT2. В маче указал адрес LPT2 С800 все работает!
Думаю, что с PCMCI будет тоже самое.
Удачи!!!ЗЫ Поставьте мач и попробуйте… Для теста даже демо Вас устроит…
Спасибо, обнадежили!
А в других программах пробовали?
В спецификации на PCMCI>LPT (Роверовский) написано:
• Чип – Oxford
• 16 байт FIFO
• совместим с операционными системами MS Windows 98SE/ME/2000/XP; DOS (с версии 2, декабрь 2006г.)
ТНК правильный совет даёт , я сам по началу столкнулся с этой проблемой (роверовский PCMCI>LPT), хотел сначало выкинуть , но в матче выставил адрес как было написано выше и всё заработало. На других прогах ещё не тестил.
ТНК правильный совет даёт , я сам по началу столкнулся с этой проблемой (роверовский PCMCI>LPT), хотел сначало выкинуть , но в матче выставил адрес как было написано выше и всё заработало. На других прогах ещё не тестил.
На выходных попробую обязательно. Спасибочки!
Мне тут посоветовали, но чет я сомневаюсь…- зайти в винду в защищеном режиме и поменять адреса на 0378 - 037F и 0778 - 077B. Или изменить это в реестре.
Мне тут посоветовали, но чет я сомневаюсь…- зайти в винду в защищеном режиме и поменять адреса на 0378 - 037F и 0778 - 077B. Или изменить это в реестре.
Если Вы хотите поменять в диспечере устройств адреса то у вас ничего не выйдет , по крайней мере с роверовским адаптером. В реестор не лазил , не могу сказать ничего на этот вопрос.
Спасибо, обнадежили!
А в других программах пробовали?
В спецификации на PCMCI>LPT (Роверовский) написано:
• Чип – Oxford
• 16 байт FIFO
• совместим с операционными системами MS Windows 98SE/ME/2000/XP; DOS (с версии 2, декабрь 2006г.)
Незачто!
Менять адреса, как советуют другие ораторы, безсмысленно и безполезно, да и скорее всего не получится.
Дело в том, что стандартные порты находятся в адресном пространстве портов ввода-вывода ISA, а у адаптеров PCI виртуальные адреса…
Программы в которых используются библьотеки для доступа к портам:
DLPortIO
InpOut32
LPTVampir
TVicLPT
работать с PCI -> LPT НЕ БУДУТ.
Спецификация на адаптор, в данном случае, не при делах.😃😃😃
И в реестр я лазить не советую.
Дело в том, что стандартные порты находятся в адресном пространстве портов ввода-вывода ISA, а у адаптеров PCI виртуальные адреса…
Если стандартные порты не заняты другими устройствами, то фокус может получиться. Но у этого pci-устройства должен быть нормальный драйвер, а это бывает не всегда.
Если стандартные порты не заняты другими устройствами, то фокус может получиться. Но у этого pci-устройства должен быть нормальный драйвер, а это бывает не всегда.
Очень сильно сомневаюсь…
С точки зрения асемблера для доступа к портам IO и к адресному пространству используются разные команды…
Вот такой OFF-топик!
По теме:
Кто-нибудь знает тип, марку, название и еще не знаю что, переходника USB->LPT или USB->COM на чипе FTDI (можно определить по драйверам).
В маче есть драйвера для битового доступа к чипам FTDI, есть идея использовать переходник как макет.
Паять с нуля лень! А поэксперементировать хочется.
И еще вопрос: Мачу есть разница каким чипом FTDI управлять? В доке на мач ничего по этому поводу не нашел.
По теме:
Кто-нибудь знает тип, марку, название и еще не знаю что, переходника USB->LPT или USB->COM на чипе FTDI (можно определить по драйверам).
В маче есть драйвера для битового доступа к чипам FTDI, есть идея использовать переходник как макет.
Паять с нуля лень! А поэксперементировать хочется.
И еще вопрос: Мачу есть разница каким чипом FTDI управлять? В доке на мач ничего по этому поводу не нашел.
А ты в inf файле к драйверам посмотри. Не все их(FTDI) чипы поддерживают битовае моды.
по PID можно определить примерно, что за чип. Плюс на сайте FTDI есть программка для програмирования eeprom на этих чипах.
кроме всего в ней можно узнать симмейство чипа.
…
Дело в том, что стандартные порты находятся в адресном пространстве портов ввода-вывода ISA, а у адаптеров PCI виртуальные адреса…
Программы в которых используются библьотеки для доступа к портам:
DLPortIO
InpOut32
LPTVampir
TVicLPT
работать с PCI -> LPT НЕ БУДУТ.
…
ИМХО слишком категорично, а вот эта например?
ИМХО слишком категорично, а вот эта например?
да нет, работать то оно будет, но тока в ноут не влезет 😦
ИМХО слишком категорично, а вот эта например?
Библиотеки (драйвера), которые я указал, легко работают со стандартными портами и не работают с PCI.
По ссылке:
- Возможность использования стандартного адресного пространства для I/O в DOS и Win9x (например, 378, 278, … для LPT порта);
Это для DOS и Win9x, а я имею в виду Win2k (надо было мне сразу написать, чтобы избежать путаници)
ЗЫ У меня NetMos PCI ECP Paralel Port 😃😃😃 как по Вашей ссылке 😃
Библиотеки (драйвера), которые я указал, легко работают со стандартными портами и не работают с PCI.
По ссылке:
- Возможность использования стандартного адресного пространства для I/O в DOS и Win9x (например, 378, 278, … для LPT порта);
Это для DOS и Win9x, а я имею в виду Win2k (надо было мне сразу написать, чтобы избежать путаници)ЗЫ У меня NetMos PCI ECP Paralel Port 😃😃😃 как по Вашей ссылке 😃
Нашел подтверждение Вашим словам:
Что не поддерживает InpOut32
А почему? в двух словах, если не затруднит 😃
Плохо!!! 😦
Оффтоп конечно, однако, как!? Вы наверное уже собаку съели 😃 , может подскажете есть ли библиотеки, которые работают с PCI-адаптерами под NT?
PCMCI - это “ноутбучный” аналог PCI?
Очень сильно сомневаюсь… С точки зрения асемблера для доступа к портам IO и к адресному пространству используются разные команды…
можете мне поверить. что в случае с pci-платой, что в случае с isa речь идет об адресах портов. в виндах все эти адреса портов виртуальные. драйвер перехватывает обращение к портам и дальше уже его дело, как этим распорядиться.
Нашел подтверждение Вашим словам:
Что не поддерживает InpOut32
А почему? в двух словах, если не затруднит 😃Плохо!!! 😦
Оффтоп конечно, однако, как!? Вы наверное уже собаку съели 😃 , может подскажете есть ли библиотеки, которые работают с PCI-адаптерами под NT?
PCMCI - это “ноутбучный” аналог PCI?
Было у меня несколько задач,где требовалась работа с лпт, сначала использовал DLPortIO, но когда потребовалась работа с PCI->LPT пришлось искать новый драйвер для прямого доступа к железу…
Нашел TVicHW32 платная, но очень крутая штука! Позволяет обращатся по любым адресам и обрабатывать аппаратные прерывания.
Мач умеет обращаться к PCI->LPT, так-что не заморачивайтесь…
2 toxa
В том-то и фокус, что задача стоит не байт передать, а ногой порта дернуть! И о использовании стандартного драйвера не может быть и речи. Надо писать по “железным” адресам, в обход всех буферов, непосредственно в порт.
ЗЫ Если есть вопросы по офтопику, пишите в личку или лучше завести отдельную тему…
В том-то и фокус, что задача стоит не байт передать, а ногой порта дернуть! И о использовании стандартного драйвера не может быть и речи. Надо писать по “железным” адресам, в обход всех буферов, непосредственно в порт.
Открою страшную тайну, ни один порт в PC не имеет битового доступа. Запись и чтение идет байтами (или 16- или 32 битными словами) 😃
Т.е. принципиально нет разницы куда слать байт 😉
Разница есть в самой программе, какой механизм доступа она использует.
можете мне поверить. что в случае с pci-платой, что в случае с isa речь идет об адресах портов. в виндах все эти адреса портов виртуальные. драйвер перехватывает обращение к портам и дальше уже его дело, как этим распорядиться.
Это опять же неправильно. Все адреса портов реальны, но надо понимать, что в x86 архитектуре существуют IO адреса и Memory адреса.
ДОступ к ним осуществляется разными механизмами. Где и какой адрес используется зависит от конкретной реализации контроллера и т.п.
знатоки собрались системного программирования. когда вы в программе на ассемблере пишете “out dx,al” и при этом это пользовательская программа в виндах, то это “прямое” обращение может перехватываться соответствующим драйвером виртуального устройства. при этом перехватываться могут одни порты, а вывод осуществляться вообще через другие механизмы, пример - “прямой” доступ к виртуальному com-порту из vdm.
Все адреса портов реальны, но надо понимать, что в x86 архитектуре существуют IO адреса и Memory адреса.
надо так же понимать, что есть железо с его реальными портами и адресами, и есть windows с его hal. когда мы говорим о программах под управлением windows, то им ичего неизвестно о том, с реальным устройством они общаются или нет, тем более, прямого доступа к аппаратным средствам у них либо нет совсем, либо доступ крайне ограничен.
Открою страшную тайну, ни один порт в PC не имеет битового доступа. Запись и чтение идет байтами (или 16- или 32 битными словами) 😃
Т.е. принципиально нет разницы куда слать байт 😉
…
Согласен, но можно записать байт, изменить бит в байте и повторить запись.
знатоки собрались системного программирования. когда вы в программе на ассемблере пишете “out dx,al” и при этом это пользовательская программа в виндах, то это “прямое” обращение может перехватываться соответствующим драйвером виртуального устройства. при этом перехватываться могут одни порты, а вывод осуществляться вообще через другие механизмы, пример - “прямой” доступ к виртуальному com-порту из vdm.
Себя к таковым не причисляю и пользуюсь чужими наработками типа DLPortIO, TvicHW32. Это драйвера виртуального устройства, которые работают на уровне ядра, а там можно практически все, а в пользовательских программах все происходит так как описали Вы.
В подтверждение слов: после установки мача в диспечере устройств появляется Mach1 Pulseing Engine - это и есть примочка, которой пользуется мач для прямого ногодрыгства 😃😃😃
С ком-портом все намного проще. Можно обойтись виндузовыми драйверами.
В подтверждение слов: после установки мача в диспечере устройств появляется Mach1 Pulseing Engine - это и есть примочка, которой пользуется мач для прямого ногодрыгства 😃😃😃
Это немного не то. Это устройство предназначено, прежде всего, для генерации импульсов с четко заданными временными характеристиками, насколько это вообще возможно в виндах. Это для тех, кто уже научился “дрыгать ногами”, но пока еще не добился приемлемой плавности перемещения, разгона и торможения.
С ком-портом все намного проще. Можно обойтись виндузовыми драйверами.
Там тоже не все радостно, ногами дрыгать можно, но не быстро. С каждой новой операционкой скорость падает.
Причем использование TvicHW32 толком ускорят не дает.
Но это все оффтопик.
А по существу получается, что если программа не умеет работать со сторонними приблудами типа TvicHW32, или какими либо конвертерами USB/Ethernet->LPT то тут ничего не сделаешь.
Вроде где-то пробегало, что Mach знает про MODBUS. Протокол довольно простой. На мой взгляд самый правильный вариант это собрать контроллер движков с поддержкой MODBUS или MODBUS\TCP.