Формат блока данных длиной 128
. Формат блока данных длиной 128 байтов с контролем по CRC-коду:
CHR(1) + <номер блока> + <дополнение номера блока> +;
<128 байтов данных> + <2 байта CRC-кода>
. Формат блока данных длиной 1024 байта с простой 8-битовой
контрольной суммой:
CHR(2) + <номер блока> + <дополнение номера блока> +;
<1024 байта данных> + <1 байт контрольной суммы>
. Формат блока данных длиной 1024 байта с контролем по CRC-коду:
CHR(2) + <номер блока> + <дополнение номера блока> +;
<1024 байта данных> + <2 байтa CRC-кода>
Примечания
. Простая 8-битовая контрольная сумма вычисляется по алгоритму:
NUMLOW(ASCIISUM(<данные>))
. В состав программных примеров, поставляемых с CT II, входит
Clipper-программа, реализующая протокол XMODEM.
. CRC-кодом называется контрольная порция информации (обычно
добавляемая к основной), формируемая по правилам умножения полиномов и
позволяющая выявлять, а в некоторых случаях и исправлять ошибки,
возникющие при передаче двоичной информации.
. МККТТ - Международный консультативный комитет по телефонии и
телеграфии - международная организация, вырабатывающая рекомендации по
стандартизации технических и программных средств передачи информации.
Примеры
. Передача по упрощенному протоколу XMODEM (подразумевается
предварительная инициализация порта):
nBlockNum := 0 // Первый блок
lChkMode := .T. // Использование CRC
nBlkSize := 128 // Размер блока
nPointer := 0 // Начальное смещение в файле
* Чтение первой порции данных
cData := FILESTR("TEST.TXT", nBlkSize, nPointer)
DO WHILE LEN(cData) > 0