Взаимодействие регистров LPT-порта. Внутри.

Подключаем наши девайсы к компьютеру. Обсуждаются: порты, протоколы, драйвера, языки программирования и т.д.
Аватара пользователя
Dr. Alex
Это не хвост, это антенна
Сообщения: 1438
Зарегистрирован: Вт окт 28, 2008 09:00:18
Откуда: Украина, Харьков
Контактная информация:

Re: Взаимодействие регистров LPT-порта. Внутри.

Сообщение Dr. Alex »

Конечно реально! Просто при запуске программы сбрасывайте всё в 0 и будьте внимательны - СТРОБ инверсный)
Порой мне кажется, что я делаю какое-то дерьмо, но когда я вижу, что делают другие, то я чувствую себя гением...
Vova777
Вымогатель припоя
Сообщения: 507
Зарегистрирован: Чт июн 16, 2011 15:06:10
Откуда: электрощитовая

Re: Взаимодействие регистров LPT-порта. Внутри.

Сообщение Vova777 »

Dr. Alex писал(а):и будьте внимательны - СТРОБ инверсный

Да там похоже, половина Control-a инверсная :)
даешь высокое напряжение
Аватара пользователя
Dr. Alex
Это не хвост, это антенна
Сообщения: 1438
Зарегистрирован: Вт окт 28, 2008 09:00:18
Откуда: Украина, Харьков
Контактная информация:

Re: Взаимодействие регистров LPT-порта. Внутри.

Сообщение Dr. Alex »

Это точно)))) Хотя достаточно основных 8 линий D0-D7. Тем более что их вы будете переключать как на передачу, так и на приём))))
Порой мне кажется, что я делаю какое-то дерьмо, но когда я вижу, что делают другие, то я чувствую себя гением...
Vova777
Вымогатель припоя
Сообщения: 507
Зарегистрирован: Чт июн 16, 2011 15:06:10
Откуда: электрощитовая

Re: Взаимодействие регистров LPT-порта. Внутри.

Сообщение Vova777 »

Dr. Alex писал(а):переключать как на передачу, так и на приём

Да )) Буду показывать МК, что ему с ногами делать ) Ок, спасибо.
даешь высокое напряжение
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: Взаимодействие регистров LPT-порта. Внутри.

Сообщение Мурик »

Vova777 писал(а):Ну Вам так проще, а я не прошарен настолько, как там все это делать.
Я бы не сказал что работа с софтовым USB настолько сложна.

Если прога для МК на Си, посмотрите статью в журнале Радио 2010 № 3.
Если на бейсике, то смотрите статью в журналах Радио 2011 № 10 и 11.

Можете посмотреть простой пример.
Можно за вечер разобраться что к чему.
Vova777
Вымогатель припоя
Сообщения: 507
Зарегистрирован: Чт июн 16, 2011 15:06:10
Откуда: электрощитовая

Re: Взаимодействие регистров LPT-порта. Внутри.

Сообщение Vova777 »

Мурик писал(а):Если прога для МК на Си, посмотрите статью в журнале Радио 2010 № 3.
Если на бейсике, то смотрите статью в журналах Радио 2011 № 10 и 11.

Прога на компе (для LPT) на Делфи, а прога для МК на Ассемблере.

Мурик писал(а):Можете посмотреть простой пример.
Можно за вечер разобраться что к чему.

Спасибо ))
даешь высокое напряжение
Аватара пользователя
Dr. Alex
Это не хвост, это антенна
Сообщения: 1438
Зарегистрирован: Вт окт 28, 2008 09:00:18
Откуда: Украина, Харьков
Контактная информация:

Re: Взаимодействие регистров LPT-порта. Внутри.

Сообщение Dr. Alex »

А почему-бы не "замутить" это всё на СОМ?
Порой мне кажется, что я делаю какое-то дерьмо, но когда я вижу, что делают другие, то я чувствую себя гением...
Vova777
Вымогатель припоя
Сообщения: 507
Зарегистрирован: Чт июн 16, 2011 15:06:10
Откуда: электрощитовая

Re: Взаимодействие регистров LPT-порта. Внутри.

Сообщение Vova777 »

Dr. Alex писал(а):А почему-бы не "замутить" это всё на СОМ?

Хочу на LPT, с ним сейчас разберусь, потом на COM буду делать. Надо же все знать. До USB доберусь потом. ))
даешь высокое напряжение
Аватара пользователя
Dr. Alex
Это не хвост, это антенна
Сообщения: 1438
Зарегистрирован: Вт окт 28, 2008 09:00:18
Откуда: Украина, Харьков
Контактная информация:

Re: Взаимодействие регистров LPT-порта. Внутри.

Сообщение Dr. Alex »

Хотя вы правы, с ЛПТ проще всего) Тут явно задаёшь биты)))) используя inout32.dll. Я в своё время делал монитор ЛПТ порта) Да и станок ЧПУ собирал, управляя ЛПТ...
Порой мне кажется, что я делаю какое-то дерьмо, но когда я вижу, что делают другие, то я чувствую себя гением...
Vova777
Вымогатель припоя
Сообщения: 507
Зарегистрирован: Чт июн 16, 2011 15:06:10
Откуда: электрощитовая

Re: Взаимодействие регистров LPT-порта. Внутри.

Сообщение Vova777 »

Dr. Alex писал(а):Я в своё время делал монитор ЛПТ порта


Вот я сейчас собрал LPT-тестер. Фото:
Изображение

Я всегда использую одну макетку для своих экспериментов. Там сверху слева я другой эксперимент проводил с МК AVR ATmega32. Справа - это я делал динамическую индикацию на МК AVR ATmega8L-8PU. Экспериментирую всё. :solder:
даешь высокое напряжение
Аватара пользователя
Ariadna-on-Line
Это не хвост, это антенна
Сообщения: 1479
Зарегистрирован: Вс май 13, 2012 00:01:54

Re: Взаимодействие регистров LPT-порта. Внутри.

Сообщение Ariadna-on-Line »

В LPT порту на выходах D0-D7 по-умолчанию висят нагрузочные резисторы. И не всякий МК их потянет. Чтобы их отключить, надо что-то записывать в "регистр контроля расширенного режима" (что-то вроде этого). Адрес в районе 578h. Поищите про двунаправленный режим LPT.
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15553
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Взаимодействие регистров LPT-порта. Внутри.

Сообщение BOB51 »

Многое будет зависить от того с какой ОСкой работать -
под Win98 можно творить с LPT все что угодно,
под XP много похуже - можно только управлять состоянием линий данных(ввод или вывод), остальные регистры завязаны на драйверах... изменение статуса порта управления приводит частенько к непредсказуемым результатам, а из входных "безнаказанно" можно работать только с ACK.
Вторая часть неприятностей - какой программой пользоваться для сотворения оболочки... на современных ПК действуют "большие" адреса области ввода/вывода 0xnnnn, которые должны быть указаны полностью, а не все старого образца программы с такой задачей справляются :cry:
Из прог под ПК на поиграться хватит команд штатного дебаггера (debug в DOS-окне или с командной строки, а далее по потребностям 8) ) или вот такого "васика" от "Электроника МС1502"
BASICD.zip
(60.78 КБ) 167 скачиваний

(только запись /чтение ведет под FAT32...) ежли кого заинтересует имеется скан инструкции пользователя под сей васик с правилами создания вставок под ассемблером...
:beer:
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: Взаимодействие регистров LPT-порта. Внутри.

Сообщение Мурик »

BOB51 писал(а):или вот такого "васика" от "Электроника МС1502"
Это DOS прога.
Какой смысл запускать ее под NT системой? Под ней нужно как минимум 32 разрядное приложение работающее с портом через драйвер.
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15553
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Взаимодействие регистров LPT-порта. Внутри.

Сообщение BOB51 »

Под NT не запускал, а вот под Win98 и под WIn_XP вполне нормальненько работает.
Причем особо не разбирался - напрямую доступ он получает или через какой драйвер, но то, что выходными линиями LPT прота (0x0378) в режиме ECP управляет вполне на практике убедился. А вот попытка работать с 0x0379 и 0x037A именно под XP привела мя в огорчение - там все зависило и от материнки и от прочих подлостей прогресса.
Только под WIn_XP переключение на кирилицу не срабатывает, да для баловства есть DOSBox 0.74, на крайний случай транслит, ибо копаться в тонких настройках ПК диикооо вломки. :sleep:
Зачем этот всаик нужен?...
Во первых лицензий и платежей за него не требуется - можно мелочевку нашкарябать и не опасаться, что кол от мелкософтовских "друзей" заквасят ( в отличии от мелкософтовских васиков, хоша и весьма забытых, но хрен его знает, не вспомнят ли о них правообладатели...) :cry:
во-вторых хорошо расписаны требования к подключаемым модулям (но, опять же под DOS), чего не очень-то легко сыскать хотя-бы для того же Microsoft Quick Basic 4.5 (или Microsoft Quick Basic 1.0/1.1), а о подписи в прикладной программе "я от пиратов" в остальных "хрякнутых" приложениях мелкософта умолчу... :facepalm:
и в третьих - чтоб не сильно заморачиваясь примитив на ПК получить хоша б для "побаловаться", да и размер программки... :)))
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: Взаимодействие регистров LPT-порта. Внутри.

Сообщение Мурик »

BOB51 писал(а):Под NT не запускал, а вот под Win98 и под WIn_XP вполне нормальненько работает.
Win 2000, Win XP и следующие за ней виста, 7 и 8, созданы на основе NT ядра и именно их подразумевал под NT системой.

BOB51 писал(а):Причем особо не разбирался - напрямую доступ он получает или через какой драйвер, но то, что выходными линиями LPT прота (0x0378) в режиме ECP управляет вполне на практике убедился.
По идее система Win 2000 и выше не должна такого допускать.

BOB51 писал(а):A именно под XP привела мя в огорчение - там все зависило и от материнки и от прочих подлостей прогресса.
Т. е. под DOS и Win9x от материнки вообще ничего не зависит?

BOB51 писал(а):и в третьих - чтоб не сильно заморачиваясь примитив на ПК получить хоша б для "побаловаться", да и размер программки...
Ни и добавлю.
...и в четвертых, DOS программы не работают на x64 системах. :dont_know:

Если вам хочется программировать на бейсике, то есть альтернативы для x86 и x64 не от майкрософт. Причем хорошие альтернативы, позволяющие создать не только x86 и x64 программы или DLL, но и драйвер, что позволяет, с точки зрения системы, получить легальный доступ в порту.
В архиве, прикрепленном к сообщению пример такой программы, а так же исходники программ, dll и драйвера на бейсике. Изучайте. :)
Вложения
DriverIO_x86_x64.zip
(52.93 КБ) 162 скачивания
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15553
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Взаимодействие регистров LPT-порта. Внутри.

Сообщение BOB51 »

Помнится старые DOS программы пользовались не драйверами, а функциями BIOS... А те прописаны однозначно и независимо от материнки (похоже и по сей день). 8)
У любой программы главная часть - хорошее описание ее команд, директив, синтаксиса и файловой системы. Чтоб самому можно чегось написать так как хойчется можно было.
Здесь "все в комплекте" (скан описания для прямого выкладывания великоват, оттого и приписано - шлем на электорнку), на другое поискать надо. Есть у меня и посложнее програмки, и книжи, да только эта - самая примитивно-простая (после дебаггера). Чего касательно X64 - дык там еще надо надлежащее оборудование, чтоб те приложения тянуло, зато есть куча старых машин, иной раз задаром.
Просто подергать лапками LPT, да "поиграться" - и этого хватит, на большинстве новых материнок под X64 LPT вообще полностью отсутствует - если "по серьезному" так только USB учить надо и сетевые приложения, однако такое затратно и оправдано либо для профессионального уровня либо для пенсионного одиночества. 8)
А программулю положил по принципу - есть в запасниках и отдать не жалко, насчет пользовать или нет - каждый сам для себя решает. :beer:
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: Взаимодействие регистров LPT-порта. Внутри.

Сообщение Мурик »

Все это конечно замечательно, только на скольких компах сейчас установлена DOS в качестве основной системы? Или хотя бы Win9x.
В том то и дело что их количество измеряется в сотых, а может и в тысячных долях процента и они имеются наверное в гос. учреждениях где до сих под используют древние проги.
У обычных юзеров основной комп имеет обычно больше 4 ГБ RAMа и поэтому установлена x64 система, где DOS-прога не заработает даже в режиме эмуляции. Так что если вы пишите прогу не только для себя, но еще и для других, то необходимо писать ее под современную ОС, а не давно неиспользуемую DOS, ИМХО.

BOB51 писал(а):Чего касательно X64 - дык там еще надо надлежащее оборудование, чтоб те приложения тянуло, зато есть куча старых машин, иной раз задаром.
Любой комп (за очень редким исключением), выпущенный после 2000 года, потянет x64 систему. Но такие компы сейчас считают старыми и их можно взять за копейки.

BOB51 писал(а):если "по серьезному" так только USB учить надо и сетевые приложения, однако такое затратно и оправдано либо для профессионального уровня
Может под DOS действительно сложно написать приложение работающее с USB или с сетью, но под винду, это не вызывает проблем даже у новичков в программировании. А все дело в том что винда предоставляет удобные функции для работы с USB (классы CDC, HID) и с сетью. Но если вы кодите под DOS, то да, работа с USB и сетью не так проста и сильно зависит от железа компа. Вывод: Надо кодить под современные ОС и кодинг упростится.
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15553
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Взаимодействие регистров LPT-порта. Внутри.

Сообщение BOB51 »

Мурик писал(а):У обычных юзеров основной комп имеет обычно больше 4 ГБ RAMа и поэтому установлена x64 система, где DOS-прога не заработает даже в режиме эмуляции..... Вывод: Надо кодить под современные ОС и кодинг упростится.


ИЛИ ПОКУПАЙТЕ, ОСВАИВАЙТЕ, ДОГОНЯЙТЕ!!!!
И так до бесконечности ...
:))) С меня для работ с МК и старых версий с 512 Мегабайтами хватает, ну на крайний случай 1 мег ОЗУ и старушка-XPишка с возможностью загрузки 98-й( двухсистемник). На большее супер-жабо давит из-за минимум 60% непотребности 8)
Прогресс штука хорошая, ежли ты производитель сего прогресса и изо всех сил стараешся не дать потребителю "очухаться", ибо... возможны негативные последствия...
Однако каждый при своем мнении и при том, что все точки зрения имеют право на жизнь, в зависимости от приложений.
Да и это уже тема "МЯЯЯУ!", а не данной ветки. 8)
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: Взаимодействие регистров LPT-порта. Внутри.

Сообщение Мурик »

BOB51 писал(а):С меня для работ с МК и старых версий с 512 Мегабайтами хватает, ну на крайний случай 1 мег ОЗУ и старушка-XPишка с возможностью загрузки 98-й( двухсистемник)
Мурик писал(а): Так что если вы пишите прогу не только для себя, но еще и для других, то необходимо писать ее под современную ОС
Повторюсь. Если пишите для себя, то не важно на чем и под что. Но если хотите поделится своими наработками с другими, то нужно писать под распространенную платформу, а в данный момент это Windows и Linux, но никак не DOS. Надеюсь это понятно?

BOB51 писал(а):Прогресс штука хорошая, ежли ты производитель сего прогресса и изо всех сил стараешся не дать потребителю "очухаться", ибо... возможны негативные последствия...
Винде уже лет двадцать если что! Поэтому прогресс тут не причем.
Ответить

Вернуться в «Интеграция с ПК»