Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: MS-DOS перенаправление консоли на COM1
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Операционные системы
Kolia
Добрый день, возникла необходимость удаленной отладки приложения (перенаправить данные с консоли и клавиатуры) на COM1.

Использую команды mode и ctty

Вот запись из autoexec.bat

Конфигурация COM1
C:\DOS\MODE.COM COM1: 9600,n,8,1

Задаю скорость 115200 (т.к. mode не поддерживает такую скорость)
C:\PROGRAMS\B115200.COM

Перенаправляю консоль
CTTY COM1

Запускаю программу
C:\PROGRAMS\KIA.EXE


Все проходит нормально, но если на другом конце COM-порта не подключена консоль появляется надпись

Ошибка записи при записи: устройство COM1
А(Стоп), R(Повтор), I(Пропустить), F(Сброс)?

и загрузка останавливается.

Если консоль подключена загрузка проходит нормально.

Как обойти проверку на запись в устройство? Может быть нульмодемный кабель нужно особенный, или еще что-то прописать в MODE?


В нете нашел код для перенаправления консоли из программы

Код
if (freopen ("COM1", "w+", stdout) == NULL)
printf ("Error redirecting stdout.\r\n");
else
printf ("STDOUT redirected to COM1.\r\n");
if (freopen ("COM1", "r", stdin) == NULL)
printf ("Error redirecting stdin\r\n");
else
printf ("STDIN redirected to COM1.\r\n");



Но он по чему-то не работает, хотя по идее должен...


Помогите плиз а то не удобно кажды раз консоль врубать (удаленного компа) перед загрузкой.
andrew_b
C:\PROGRAMS\KIA.EXE > COM1
zltigo
QUOTE (Kolia @ Jul 28 2011, 09:39) *
Как обойти проверку на запись в устройство? Может быть нульмодемный кабель нужно особенный, или еще что-то прописать в MODE?

Просто вместо полного кабеля перемычки DTR-DSR и RTS-CTS на стороне PC.



QUOTE (andrew_b @ Jul 28 2011, 10:28) *
C:\PROGRAMS\KIA.EXE > COM1

А почитать в чем была проблема у Автора?


Kolia
Цитата(zltigo @ Jul 28 2011, 11:31) *
Просто вместо полного кабеля перемычки DTR-DSR и RTS-CTS на стороне PC.


Спасибо, так работает).....тротупил сам с кабелем..только на полном нульмодемном проверял..
Сергей Борщ
QUOTE (Kolia @ Jul 28 2011, 10:39) *
Задаю скорость 115200 (т.к. mode не поддерживает такую скорость)
C:\PROGRAMS\B115200.COM
Это новость. Точно?
QUOTE (Kolia @ Jul 28 2011, 10:39) *
Все проходит нормально, но если на другом конце COM-порта не подключена консоль появляется надпись
Отключите handshaking, он же flow control в той же команде mode

Это, кончено не ДОС (за неимением), а консоль XP, но тем не менее:
CODE
D:\>mode com2 baud=115200 data=8 parity=n stop=1 dtr=off rts=off

Status for device COM2:
-----------------------
    Baud:            115200
    Parity:          None
    Data Bits:       8
    Stop Bits:       1
    Timeout:         ON
    XON/XOFF:        OFF
    CTS handshaking: OFF
    DSR handshaking: OFF
    DSR sensitivity: OFF
    DTR circuit:     OFF
    RTS circuit:     OFF
Kolia
Цитата(Сергей Борщ @ Jul 28 2011, 15:30) *
Это новость. Точно?



Да, работаю под MS-DOS 6.22, выше 19200 не задается

Цитата(Сергей Борщ @ Jul 28 2011, 15:30) *
Отключите handshaking, он же flow control в той же команде mode


К сожалению в данной программе таких настроек нет, если только добавить в прогу настройки скорости.... но будет ли воспринимать такие настройки команда CTTY com1?

Вот тут нарыл подробное описание: MODE

Вот так вот работает со стандартным нульнодемным кабелем disco.gif

C:\DOS\MODE.COM COM1: 9600,n,8,1,p

Всем спасибо за помощь cheers.gif


Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.