Обнаружилась одна проблема с передачей файла от девайса на 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