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

 
 
> Проблема с приемом файла по Xmodem от Гипертерминала
alux
сообщение Apr 1 2009, 12:19
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 589
Регистрация: 24-04-05
Пользователь №: 4 447



Пытаюсь отправить тестовый текстовый файл через гипертерминал на прибор.
За основу взял исходник Xmodem.cpp
http://www.koders.com/cpp/fidF02ED33BDED10...s=xmodem.cpp#L1

Немного переделал: убрал обработку исключений, заменил функцию расчета CRC16 и исправил ошибки. В итоге SendFile() отправляет файл, а вот наоборот, никак не получается: получаю SOH, затем номер блока=1, затем его дополнение до единицы=254, и все... Дальше Гипертерминал получает запрос на повторную передачу и после 9 попыток связь обрывается. Делаю все по протоколу, вроде. Свои исходник прилагаю. Посмотрите, пожалуйста, что я не так делаю?
Прикрепленные файлы
Прикрепленный файл  xmodem.rar ( 3.6 килобайт ) Кол-во скачиваний: 23
 
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
alux
сообщение Jun 26 2009, 20:31
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 589
Регистрация: 24-04-05
Пользователь №: 4 447



Обнаружилась одна проблема с передачей файла от девайса на PC по Xmodem. Почему-то всегда не отправляется второй пакет 128 байт. Объясню на примере: допустим, нужно передать файл, состоящий из 128 символов '1' , 128 символов '2' и 128 символов '3'. В результате в переданном файле 128 символов '1' и 128 символов '3'. Если файл состоит , например, из 390 байт, то Гипертерминал, как и положено, сообщает об успешной передаче 4 пакетов, но в результате в файле сохранено 3 пакета по 128 байт. Второй пакет отсутствует.
Версии все исчерпал. Посмотрите, пожалуйста, исходник, может что-нибудь упустил из виду... Хотя в протоколе все просто как дважды два.


PS. Вопрос снимается. В начале функции SendFile() нужно вставить следующее:
Код
    if(((ans = GetByteWithTimeout(DLY_60_SEC)) > 0) && ans == CRC)
    {
        bCRC = true;  
    }
    else
    {
        message(timeout_err);
        return false;      
    }
Теперь все работает.
Прикрепленные файлы
Прикрепленный файл  xmodem.rar ( 4.76 килобайт ) Кол-во скачиваний: 36
 
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 20th July 2025 - 22:25
Рейтинг@Mail.ru


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