Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: LPT порт  (Прочитано 13066 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Tuborg
Модератор

ee
Offline Offline

« : 12-05-2006 13:12 » 

Проблема до банальности проста. Есть два ПК. Один (далее датчик) эмулирует работу датчиков (кидает заранее подготовленный файл на LPT порт), работает под Windows. Второй ПК (далее Хост)- изделие, работающее под DOS, которое этот поток данных ДОЛЖНО принимать.
 Ситуёвина. Пересылка Хост -> Датчик работает на ура. Изменения контрольного регистра и регистра даннах на хосте  правильно отображается на датчике. Пересылка Датчик -> Хост не работает. Изменения контрольного регистра отслеживаются, изменения регистра данных - нет. Впринципе пока обхожусь Nibble-режимом (т.е. задействовал только 4 бита контрольного регистра), но хотелось бы понять как перейти на нормальный SPP, как датчиком менять регистр данных на хосте? Я так понимаю это задаётся направлением передачи (поскольку LPT SPP - однонаправленная передача), изменение флага SelectIN (ещё его обзывают Printer On-Line) ни чего не даёт.
 Подскажите, кто знает, как сменить направление передачи. Передача между двумя компами с виндой идёт нормально в обе стороны (направление меняется 5м битом регистра контроля передач - обзываемый tristate outputs или ещё называемой режимом двусторонней передачи, менять этот битик под ДОС'ом не представляется возможным, поскольку везде написано, что BIOS этот режим не поддерживает, а на практике, установка бита игнорируется, то бишь остаётся в нуле).
« Последнее редактирование: 15-12-2007 19:23 от Алексей1153++ » Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 12-05-2006 16:04 » 

Для начала посмотри логику работы порта - может тебе это не подойдет.
http://www.fapo.com/1284int.htm
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Tuborg
Модератор

ee
Offline Offline

« Ответ #2 : 14-05-2006 10:12 » 

Да это я прочёл вдоль и поперёк, оно мало чем поможет. Я даже протокол полностью в соответствии со стандартом сделал, проблема где-то в токах или нагрузках, поскольку винда сразу лпт переводит в режим двустороннего обмена.
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #3 : 14-05-2006 14:04 » 

Tuborg, я бы повесил на порт буфера на ввод и на вывод - все необходимые сигналы есть.

Нашел в своих закромах ссылочку - может пригодится: http://alavi.fromru.com/Work/epp_faq.htm
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Tuborg
Модератор

ee
Offline Offline

« Ответ #4 : 15-05-2006 09:39 » 

Дело в том, что EPP не подходит. "Датчик" - глупая железяка, на которую не хотелось бы наверчивать протокол обмена по EPP. Поэтому основная задача "датчика" выплёвывать на LPT байт за байтом, а хост должен ловить эти байтики. Вот почему выше SPP никак =(
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #5 : 16-05-2006 05:32 » 

Tuborg, SPP - однонаправленный режим. Чего же тогда хочешь?
Поставь пару регистров на IO, чуть-чуть логики и тупизна датчиков перестанет волновать.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Tuborg
Модератор

ee
Offline Offline

« Ответ #6 : 16-05-2006 10:09 » new

Мне как раз двунаправленность и не нужна. У меня есть однонаправленность Хост -> Датчик, а надо бы однонаправленность Датчик -> Хост. При этом не дорабатывая датчик (космический борт).
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines