|
Автор |
Сообщение |
Martin
Завсегдатай
Зарегистрирован: 28.07.2009 Сообщения: 623 Откуда: Харьков
|
|
|
|
Утройство электронная таблица расписания поездов имеет подключение к COM-порту ПК. Есть 2 блока, один на данный момент используется и один в резерве на случай поломки основного блока. Сами компьютеры довольно устарели, например основной блок Pentium I процессор 133 МГц, ОЗУ 32 МБ с предустановленной DOS, на резервном сейчас стоит Windows 98. Правительством города недавно были выделены средства на полную перепланировку и замену всегй аппаратуры, но откат за откатом и перепланировка так и осталась на бумаге.
Нужно проверить СОМ 1 - порт на резервном блоке. Поскольку у ПК нет usb, cd-rom'а, оптимальный вариант - использовать небольшую программу с Floppy диска, пока ничего лучше чем из книжки "IBM PC: устройство, ремонт, модернизаияя" автора Борзенко А. не нашел:
Цитата: |
Чтобы проверить COM-порт нужно установить заглушку непосредственно на разъем порта, создайте файл RS_TEST.DBG:
Код: |
A
MOV DX, 03F8
IN AL, DX
MOV AH, 01
INT 21
OUT DX, AL
MOV DX, 03F8+5
IN AL, DX
TEST AL, 01
JZ 010C
MOV DX, 03F8
IN AL, DX
MOV DL, AL
MOV AH, 02
INT 21
JMP 0100
<пустая строка>
RCX
1D
NRS232.COM
W
Q
|
Теперь необходимо выполнить команду:
DEBUG < RS_TEST.DBG
Тестовая программа RS232.COM готова к работе.
После запуска она ждет нажатия клавиши. При установленной заглушке и исправном порте СОМ1 каждая нажатая клавиша будет двоиться. Для того чтобы проверить СОМ2 необходимо все адреса регистров 3F8h заменить на 2F8h. (СОМ3 и СОМ4 - 3Е8h и 2Е8h соответственно). Программа работает в непрерывном цикле и поэтому для выхода из нее используйте CTRL+BREAK. |
В общем сделал все как написано: из старого кабеля сделал заглушку, прозвонил, естествено, в выкл-ом состоянии подключил к ПК, выполняю действия как в книжке:
Результат такой как будто СОМ 1-порт неисправен, но в Диспетчере устройств - СОМ 1 - "Устройство работает нормально"
Мне сказали что эта программа работает только в DOS, но в тексте книжки нет упоминаний что она работает под какой то определенной ОС.
Программа на ассемблере, может код не правильный? |
|
Вернуться к началу |
|
|
den
Старожил
Зарегистрирован: 31.01.2006 Сообщения: 13870 Откуда: Кировоград, Украина
|
|
|
|
Попробуй выполнить все в командной строке, то есть без загрузки GUI |
|
Вернуться к началу |
dhsilabs@jabber.ru |
|
|
Martin
Завсегдатай
Зарегистрирован: 28.07.2009 Сообщения: 623 Откуда: Харьков
|
|
|
|
Может я конечно туплю, но может есть команда которой можно было бы передать код этой программы из тестового док-та или как можно перенести текст в ком-ой строке на следующую строку?
Если просто из буфера обмена вставить его в ком-ую строку:
Спасибо |
|
Вернуться к началу |
|
|
Anderson
Завсегдатай
Зарегистрирован: 08.07.2006 Сообщения: 642 Откуда: localhost
|
|
|
|
Martin, винда кажется пилит все прерывания на аппаратном уровне. Загрузись в режиме DOS, еще лучше из загрузочной дискеты (или в XP есть возможность загрузки в ком. строку - я уже забыл). _________________ ArchLinux + Enlightenment 17 (E17) |
|
Вернуться к началу |
|
|
Martin
Завсегдатай
Зарегистрирован: 28.07.2009 Сообщения: 623 Откуда: Харьков
|
|
|
|
den писал(а): |
Попробуй выполнить все в командной строке, то есть без загрузки GUI |
Anderson писал(а): |
Загрузись в режиме DOS, еще лучше из загрузочной дискеты |
Сейчас у меня нет доступа к тому ПК, в Windows XP сеанса DOS нет. Установил программу DOSBox. Не могу перейти на диск С (там, где программа):
|
|
Вернуться к началу |
|
|
ruslan89
Завсегдатай
Зарегистрирован: 09.01.2010 Сообщения: 799
|
|
|
|
C не большая ли должна быть? |
|
Вернуться к началу |
|
|
Шульц
Завсегдатай
Зарегистрирован: 10.02.2009 Сообщения: 583 Откуда: Russland
|
|
|
|
В натуре! Там же белым по чёрному написано: "чтобы перейти на другой диск, напечатайте C:". И большая буква C: окрашена в красный цвет. _________________ Life is short - write better code! |
|
Вернуться к началу |
|
|
Anderson
Завсегдатай
Зарегистрирован: 08.07.2006 Сообщения: 642 Откуда: localhost
|
|
|
|
Martin,
Цитата: |
винда кажется пилит все прерывания на аппаратном уровне. Загрузись в режиме DOS, еще лучше из загрузочной дискеты (или в XP есть возможность загрузки в ком. строку - я уже забыл). |
DOSBox и CMD не катируются. Загрузись НЕ в Windows XP, а в ДОС с загрузочной дискеты и там продиагностируй. Либо скачай виндовозную софтину. _________________ ArchLinux + Enlightenment 17 (E17) |
|
Вернуться к началу |
|
|
pptaa
Новенький
Зарегистрирован: 06.09.2009 Сообщения: 12 Откуда: г. Николаев
|
|
|
|
А если просто к сом-порту подключить сом-мышку, поелозить ею, и зделать вывод - рабочий порт, или нет? |
|
Вернуться к началу |
|
|
Martin
Завсегдатай
Зарегистрирован: 28.07.2009 Сообщения: 623 Откуда: Харьков
|
|
|
|
Anderson писал(а): |
Загрузись НЕ в Windows XP, а в ДОС с загрузочной дискеты |
pptaa писал(а): |
А если просто к сом-порту подключить сом-мышку, поелозить ею, и зделать вывод - рабочий порт, или нет? |
Так пробовали уже, Windows 98 не "видит" ее
Командой mount c: потом с: тоже безрезультатно:
Цитата: |
С не большая ли должна быть? |
Цитата: |
В натуре! Там же белым по чёрному написано: "чтобы перейти на другой диск, напечатайте C:". И большая буква C: окрашена в красный цвет |
.
DOS не чувствительна к регистру. |
|
Вернуться к началу |
|
|
Шульц
Завсегдатай
Зарегистрирован: 10.02.2009 Сообщения: 583 Откуда: Russland
|
|
|
|
А может набрать команду mount c c:? И, типа, диск С: смонтируется? _________________ Life is short - write better code! |
|
Вернуться к началу |
|
|
Martin
Завсегдатай
Зарегистрирован: 28.07.2009 Сообщения: 623 Откуда: Харьков
|
|
|
|
Шульц писал(а): |
А может набрать команду mount c c:? И, типа, диск С: смонтируется? |
Пробовал и так - в DOS'е выводились иероглифы, а эмулятор DOSBox ругался что раздел С не существует, а текущим в нем была директория в разделе Z, хотя у меня нет такого раздела не физического не логического. Не стал замарачиваться, просто закинул программу на дискету вместе с файлами DOS'a, может это и неэстетично зато сразу была решена проблема Сабж. А вопрос как перейти на другой диск в DOS и DOSBox по прежнему остается открытым.
PS.Вот если бы автор сделал примечание что программу запускать нужно в DOS не было бы всей этой путаницы, т.к. отладчиком DEBUG она вызывается и из Windows, а само приложение безошибочно работает только в DOS. |
|
Вернуться к началу |
|
|
pptaa
Новенький
Зарегистрирован: 06.09.2009 Сообщения: 12 Откуда: г. Николаев
|
|
|
|
Подключите сом-мышь, загрузитесь с ДОС-дискеты (на нее предварительно запишите нортон или волков, и какой-нибудь mouse.com), запустите Нортон или волков, а потом mouse.com с дискеты. Если появиться мышь - порт рабочий.
А диск С не виден, потому что дискета - FAT16, а windows XP - или FAT32 или NTFS |
|
Вернуться к началу |
|
|
ruslan89
Завсегдатай
Зарегистрирован: 09.01.2010 Сообщения: 799
|
|
|
|
винда тоже умеет работать с КОМ-мышами, поэтому не обязательно загружаться с ДОСа. |
|
Вернуться к началу |
|
|
|
|