Перейти к содержанию

    

Принять данные через COM порт и сохранить в файл

Скорость передачи 2Mb (2000000/8-N-1).

Данные идут пачками по 2048 байт каждые 15 ms.

Общая длина всей посылки 512MB.

Есть какая либо прога на PC под Windows32bit?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Teraterm, например (хотя какая-то из старых версиях на больших объемах у меня падала, но это было давно и, наверное, давно залечено). Или смастерить простенький скрипт на vbs, используя axserial для работы с портом.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
2 часа назад, zombi сказал:

Есть какая либо прога на PC под Windows32bit?

Любой терминал с возможностью записи в файл.

Например поставить PComm Lite отсюда: https://www.moxa.com/product/download_pcommlite_info.htm

Там в составе будет терминалка mxterm.exe. Она умеет писать бинарный лог.

 

23 минуты назад, rx3apf сказал:

Teraterm, например (хотя какая-то из старых версиях на больших объемах у меня падала, но это было давно и, наверное, давно залечено). Или смастерить простенький скрипт на vbs, используя axserial для работы с портом.

Teraterm вроде в заголовок лог-файла дописывает что своё?

Ещё некоторые терминалки могут делать преобразование символов. Таким образом дамп будет неверным. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нет, у меня по крайней мере ничего лишнего не писал.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1 hour ago, jcxz said:

Например поставить PComm Lite отсюда: https://www.moxa.com/product/download_pcommlite_info.htm

Скачал. Оказалось что скорость больше чем 921600 бод установить не даёт. Дальше не пробовал.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
44 minutes ago, zombi said:

Скачал. Оказалось что скорость больше чем 921600 бод установить не даёт. Дальше не пробовал.

Teraterm дает любую скорость установить. Смотрите только чтобы ваш хост физически такую поддерживал.
Я в Teraterm спокойно 3Mb пропускаю. 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А где вы видели мамку или конвертер USB <-> COM, поддерживающий больше, чем 921600 ? Я таких пока не видел. Хотя из этого еще не следует, что их не может быть ...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
5 minutes ago, AlexandrY said:

Teraterm дает любую скорость установить. Смотрите только чтобы ваш хост физически такую поддерживал.
Я в Teraterm спокойно 3Mb пропускаю. 

 

Скачал teraterm. Но скорость тоже максимум 921600 предлагает.

Или я не там пытаюсь скорость выставить?

teraterm.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В окне выбора скорости можно не только выбирать из набора скоростей, но и вписать значение. Если, конечно, для выбранного устройства такая скорость будет возможна.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
7 minutes ago, kovigor said:

А где вы видели мамку или конвертер USB <-> COM, поддерживающий больше, чем 921600 ? Я таких пока не видел. Хотя из этого еще не следует, что их не может быть ...

FT232RL.

1 minute ago, rx3apf said:

 но и вписать значение.

Едрить колотить. А я и не догадался. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
12 минут назад, kovigor сказал:

 Хотя из этого еще не следует, что их не может быть ...

FT232 - до трех мегабит. CP2104 - до двух.

Изменено пользователем rx3apf

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Запустил. Поток принимаю.

Я являюсь инициатором передачи.

Передаю разное количество блоков по 2048 байт каждый.

На общем объёме 2...5 MB уже наблюдаю потерю до нескольких сотен байт.

Т.е. после записи log файла его длина не кратна 2048 байтам.

А мне надо принять 512 MB !!!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
5 hours ago, zombi said:

Запустил. Поток принимаю.

Я являюсь инициатором передачи.

Передаю разное количество блоков по 2048 байт каждый.

На общем объёме 2...5 MB уже наблюдаю потерю до нескольких сотен байт.

Т.е. после записи log файла его длина не кратна 2048 байтам.

А мне надо принять 512 MB !!!

Не знаю, как в teraterm, но во многих терминалках настраивается объем буфера входящих сообщений и их количество. Попробуйте поиграться на умеренных числах там.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Это потому что прием данных без коррекции ошибок.

Улучшайте условия передачи и приёма и м.б. вам повезёт.

 

А как насчёт другого порта и/или протокола?...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
7 hours ago, zombi said:

На общем объёме 2...5 MB уже наблюдаю потерю до нескольких сотен байт.

По умолчанию объем приемного буфера драйвера в Windows - это всего-навсего 4096 байт. Управление потоком обязательно нужно использовать, и не только в терминалке, но и в вашей программе. Включите аппаратное управление потоком (т.е., RTS/CTS) ...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация