Избегайте FF

Описание

Текст сообщения:Убедитесь, что ваше приложение не отправляет символы с ASCII-кодом 255 (FF).

Подробности

Это сообщение выводится, когда для целевого DS указан метод доступа inband. Метод внутриполосного доступа обычно используется, когда внеполосный доступ невозможен (например, из-за ограничений в сети). Чтобы в будущем можно было программировать целевой DS, Wizard сохраняет внутриполосный доступ в DS, то есть параметр Inband (IB) этого DS остаётся равным 1 (включён).

Когда параметр Inband (IB) DS равен 1 (включён), DS может принимать команды, отправленные удалённым хостом через канал данных. Символ ASCII с кодом 255 (FF в шестнадцатеричной записи) используется как «управляющий» символ, который обозначает начало команды. Чтобы передать один байт данных FF, нужно отправить два символа FF (подробнее см. в разделе внутриполосное программирование).

Если ваше приложение отправляет символы FF, DS воспримет их как начало внутриполосной команды. Это явная проблема, так как все последующие данные не будут направлены на последовательный порт DS. Есть три решения:

  • Найдите способ программировать DS методом внеполосного доступа. В этом случае Wizard отключит внутриполосные команды на стороне DS, и все символы FF будут обрабатываться DS обычным образом.
  • Найдите способ не отправлять символы ASCII с кодом FF между вашим приложением и DS (вашим последовательным устройством).
  • Измените обработку символов FF в вашем приложении так, чтобы она была совместима с внутриполосным режимом. Это означает следующее:
  • Когда приложению нужно отправить символ FF, оно отправляет два подряд идущих символа FF;
  • Когда приложение получает два символа FF подряд, оно воспринимает их как один символ данных с кодом FF.