реклама на сайте
подробности

 
 
> Обмен через COM-порт в Windows XP (командная строка)
koluna
сообщение Apr 28 2016, 10:26
Сообщение #1


Профессионал
*****

Группа: Участник
Сообщений: 1 040
Регистрация: 3-01-07
Пользователь №: 24 061



Всем привет!

Необходимо в bat-файле с помощью стандартных команд отправить данные в порт, потом сразу считать данные из порта и вывести на экран.
Могу реализовать на Си, могу на Питоне, но надо именно с помощью стандартных команд в командной строке...
Отправить данные - не проблема.
А вот принять - не очень-то просто.

С помощью команд "copy /B com1 con" и "type com1" данные принимаются и выводятся на экран, но данные я вижу на экране спустя 1-2 минуты (точно не измерял, долго ждать, одним словом). Видимо, есть какой-то таймаут, скорее всего в драйвере (ожидается ^-z, но его не будет).
Можно ли этот таймаут настроить т. о., чтобы данные ожидались, скажем, не дольше 1 секунды?


--------------------
Благодарю заранее!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
r_dot
сообщение Apr 28 2016, 20:39
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 237
Регистрация: 14-08-07
Из: Москва
Пользователь №: 29 791



Цитата(koluna @ Apr 28 2016, 13:26) *
... есть какой-то таймаут, скорее всего в драйвере (ожидается ^-z, но его не будет)...

Помню смутно, но по-моему при работе из командной строки под СОМ-портом подразумевается терминальный протокол, соответственно действуют его настройки. Можно, конечно, поковыряться и поискать, чего там можно настроить, но проще протокол соблюдать, и не говорить категорично "^-z, но его не будет", а подумать, как в источнике после данных данных выдать символ конца передачи.
Go to the top of the page
 
+Quote Post
koluna
сообщение Apr 29 2016, 05:31
Сообщение #3


Профессионал
*****

Группа: Участник
Сообщений: 1 040
Регистрация: 3-01-07
Пользователь №: 24 061



Цитата(r_dot @ Apr 29 2016, 00:39) *
Помню смутно, но по-моему при работе из командной строки под СОМ-портом подразумевается терминальный протокол, соответственно действуют его настройки. Можно, конечно, поковыряться и поискать, чего там можно настроить, но проще протокол соблюдать, и не говорить категорично "^-z, но его не будет", а подумать, как в источнике после данных данных выдать символ конца передачи.


Протокол менять никто не будет, он чужой.

Цитата(V_G @ Apr 29 2016, 01:17) *
Это что - учебная задача, почему с помощью стандартных команд?
Кто мешает написать программу на Си и запускать ее из bat-файла?


Не учебная.
Требуется элементарный алгоритм: 10 байт отправить, 100 байт принять и отобразить. Условно.
Думал, что с помощью стандартных команд из командной строки это можно сделать просто и быстро, с наскока.
Но вот ошибся...

Написать на Си никто не мешает, видимо, придется так сделать.


--------------------
Благодарю заранее!
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 5th August 2025 - 21:31
Рейтинг@Mail.ru


Страница сгенерированна за 0.01377 секунд с 7
ELECTRONIX ©2004-2016