Форум программистов «Весельчак У»
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
Начало
Наши сайты
Галерея
Весельчак У
Наша Вики
Хранилище
Проекты
Правила
Правила форума
Правила русского языка
Помощь
Поиск
Календарь
Почта
Войти
Регистрация
Форум программистов «Весельчак У»
>
Программирование
>
Ассемблер
(Модератор:
Tuborg
) > Тема:
LPT порт
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: LPT порт (Прочитано 13669 раз)
0 Пользователей и 3 Гостей смотрят эту тему.
Tuborg
Модератор
Offline
LPT порт
«
:
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
Технический
Администратор
Offline
Пол:
Re: LPT порт
«
Ответ #1 :
12-05-2006 16:04 »
Для начала посмотри логику работы порта - может тебе это не подойдет.
http://www.fapo.com/1284int.htm
Записан
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Tuborg
Модератор
Offline
Re: LPT порт
«
Ответ #2 :
14-05-2006 10:12 »
Да это я прочёл вдоль и поперёк, оно мало чем поможет. Я даже протокол полностью в соответствии со стандартом сделал, проблема где-то в токах или нагрузках, поскольку винда сразу лпт переводит в режим двустороннего обмена.
Записан
RXL
Технический
Администратор
Offline
Пол:
Re: LPT порт
«
Ответ #3 :
14-05-2006 14:04 »
Tuborg
, я бы повесил на порт буфера на ввод и на вывод - все необходимые сигналы есть.
Нашел в своих закромах ссылочку - может пригодится:
http://alavi.fromru.com/Work/epp_faq.htm
Записан
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Tuborg
Модератор
Offline
Re: LPT порт
«
Ответ #4 :
15-05-2006 09:39 »
Дело в том, что EPP не подходит. "Датчик" - глупая железяка, на которую не хотелось бы наверчивать протокол обмена по EPP. Поэтому основная задача "датчика" выплёвывать на LPT байт за байтом, а хост должен ловить эти байтики. Вот почему выше SPP никак =(
Записан
RXL
Технический
Администратор
Offline
Пол:
Re: LPT порт
«
Ответ #5 :
16-05-2006 05:32 »
Tuborg
, SPP - однонаправленный режим. Чего же тогда хочешь?
Поставь пару регистров на IO, чуть-чуть логики и тупизна датчиков перестанет волновать.
Записан
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Tuborg
Модератор
Offline
Re: LPT порт
«
Ответ #6 :
16-05-2006 10:09 »
Мне как раз двунаправленность и не нужна. У меня есть однонаправленность Хост -> Датчик, а надо бы однонаправленность Датчик -> Хост. При этом не дорабатывая датчик (космический борт).
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Форум программистов «Весельчак У»
>
Программирование
>
Ассемблер
(Модератор:
Tuborg
) > Тема:
LPT порт
Загружается...