Показано с 1 по 6 из 6

Тема: CRC16 и команды аля QXDM

Комбинированный просмотр

  1. #1
    Member
    Регистрация
    05.08.2003
    Адрес
    russia
    Сообщений
    128
    Спасибо
    0
    Благодарностей: 1 : 1

    CRC16 и команды аля QXDM

    Сделал функцию CRC16 по Maxi`ному алгоритму.

    Все вроде работает, но есть одно но, насколько я заметил если длина ответа больше 128 байт , то CRC по вышеописанному алгоритму считается неверно, то есть отлична от той которая находиться в самом пакете, перепроверял 10 раз, пакеты целые, потерь нет, например вот такой ответ:

    ----
    27 C5 A5 7D 5E 7D 5E FF 20 70 FF 00 78 F0 7D 5E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 06 00 5C E6 7E
    ----

    Где 5CE6 это CRC, 7e завершающий символ, но если самому посчитать CRC то 5CE6 никак не получается, размер этого пакета 138 байт.


    А вот короче пакет:

    -----
    00 44 65 63 20 32 30 20 32 30 30 34 31 32 3A 30 30 3A 34 37 4A 75 6C 20 32 33 20 32 30 30 34 31 38 3A 30 30 3A 30 30 53 30 31 33 37 31 35 30 2A 06 A4 C5 05 02 00 3C E9 9B 7E
    -----

    Размер 58 байт, если самому считать то CRC как раз и получиться E99B как и указана в пакете.




    Кто-нибудь в курсе, шо це таки и где косяк?

  2. #2
    Member
    Регистрация
    20.09.2004
    Сообщений
    391
    Спасибо
    4
    Благодарностей: 12 : 6
    Цитата Сообщение от Pluton
    Сделал функцию CRC16 по Maxi`ному алгоритму.

    Все вроде работает, но есть одно но, насколько я заметил если длина ответа больше 128 байт , то CRC по вышеописанному алгоритму считается неверно, то есть отлична от той которая находиться в самом пакете, перепроверял 10 раз, пакеты целые, потерь нет, например вот такой ответ:

    ----
    27 C5 A5 7D 5E 7D 5E FF 20 70 FF 00 78 F0 7D 5E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 06 00 5C E6 7E
    ----

    Где 5CE6 это CRC, 7e завершающий символ, но если самому посчитать CRC то 5CE6 никак не получается, размер этого пакета 138 байт.
    Честно говоря не знаю, какой у Maxi алгоритм, поэтому не могу подсказать в чем косяк. Советую найти вот этот документ "RFC 1662 - PPP in HDLC-like Framing", там есть сырцы на С, 100% правильно считает. Пробовал считать своей прогой на основе этого алгоритма, у меня CRC получилось FE 0D.

  3. #3
    Member
    Регистрация
    05.08.2003
    Адрес
    russia
    Сообщений
    128
    Спасибо
    0
    Благодарностей: 1 : 1
    Цитата Сообщение от imtmc450
    Честно говоря не знаю, какой у Maxi алгоритм, поэтому не могу подсказать в чем косяк. Советую найти вот этот документ "RFC 1662 - PPP in HDLC-like Framing", там есть сырцы на С, 100% правильно считает. Пробовал считать своей прогой на основе этого алгоритма, у меня CRC получилось FE 0D.
    В одной из тем давненько Maxi писал этот алгоритм, все работает говорю же, но вот если ответ больше 128 байт (либо другая закономерность) CRC не совпадает с той что в пакете.

    Ты сам попробуй введи какую-нибудь команду с длинным ответом, и сравни свою посчитанную CRC с той что в пакете.

  4. #4
    Member
    Регистрация
    20.09.2004
    Сообщений
    391
    Спасибо
    4
    Благодарностей: 12 : 6
    Дык я же и показывю CRC на твой пакет, который считается по этому алгоритму
    27 C5 A5 7D 5E 7D 5E FF 20 70 FF 00 78 F0 7D 5E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 06 00 FE 0D 7E
    он нормально принимается телом.
    Все NV параметры имеют длину больше 128 и никогда у меня с ними проблем не было. Не было проблем и с пакетами в несколько раз большими 128. Так что алгоритм не при чем, ищи ошибку в своей проге.

  5. #5
    Member
    Регистрация
    05.08.2003
    Адрес
    russia
    Сообщений
    128
    Спасибо
    0
    Благодарностей: 1 : 1
    Цитата Сообщение от imtmc450
    Дык я же и показывю CRC на твой пакет, который считается по этому алгоритму
    27 C5 A5 7D 5E 7D 5E FF 20 70 FF 00 78 F0 7D 5E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 06 00 FE 0D 7E
    он нормально принимается телом.
    Все NV параметры имеют длину больше 128 и никогда у меня с ними проблем не было. Не было проблем и с пакетами в несколько раз большими 128. Так что алгоритм не при чем, ищи ошибку в своей проге.
    Ты не понял, то что ты процитировал, это не команда, это ответ телефона на команду 0x27, то есть CRC в пакете выставляет телефон, значит чтобы сверить не битый ли пакет, нужно самому посчитать эту CRC и сравнить с той что в пакете, ты почситал FE 0D , но телефон то выставил другую, понимаешь?

    Ты сам попробуй. пошли в телефон команду 27 C5 A5 7E, прими ответ и посчитай CRC ответа и сравни с той что в пакете.

  6. #6
    Member
    Регистрация
    05.08.2003
    Адрес
    russia
    Сообщений
    128
    Спасибо
    0
    Благодарностей: 1 : 1
    Мляяяя, все разобрался, про то что 7e кодируется как 7D 5E знал , но не знал что перед тем как CRC считать нужно обратное преобразование делать и считать CRC для 7E, а не для 7D 5E

Похожие темы

  1. Звук в 6230i аля 6230
    от ant_a в разделе Телефоны DCT4/WD2/TIKU
    Ответов: 1
    Последний ответ: 24.03.2007, 19:20

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •  
  Рейтинг@Mail.ru