Страница 1 из 4 123 ... ПоследняяПоследняя
Показано с 1 по 10 из 37

Тема: Нестандартный протокол

  1. #1

    По умолчанию Нестандартный протокол

    Необходимо послать запрос термостату фирмы Huber с блоком управления СС3.
    Протокол нестандартный, запрос в виде SP?<CR><LF>.
    Каким образом отсылать спецсимволы <CR><LF> (#13#10).

  2. #2
    Пользователь
    Регистрация
    10.01.2007
    Адрес
    Красноярск
    Сообщений
    138

    По умолчанию

    Из книжки:
    При необходимости помещения в строку кода, не имеющего печатного изображения, используется знак ($) и следующий за ним код из двух цифр в шестнадцатиричной системе исчисления.

  3. #3

    Question

    Цитата Сообщение от SergeyNG Посмотреть сообщение
    Из книжки:
    п.п. может вы вычитали как принимать блок байт hex данных и переводить в обычную цифру

  4. #4

    По умолчанию

    Расшифруйте, что же вы хотели сказать, K.I.V? Надо осуществить преобразование степени счисления 16->10? Или что-то ещё?

  5. #5
    Пользователь
    Регистрация
    10.01.2007
    Адрес
    Красноярск
    Сообщений
    138

    По умолчанию

    Тоже не понял, что и во что вы хотите перевести? Поподробнее

  6. #6

    Question ///

    да я хотел ... хочу ( просто отвлекли более важные дела ), может в понедельник продолжу и зря вас отвлекаю, но от помощи не откажусь ...

    делаю протокол обмена по 485 :
    - посылаю в hex запрос прибору
    - прибор сразу отвечает n кол-вом байт в hex формате ( девять байт, из них 8-мь цифр с индикатора и один байт наверно положение точки ( постараюсь обойтись без точки, но может понадобиться)).
    - на данной стадии принимаю в буфет какой-то бред
    - но после решения (надеюсь) этой проблемы, надо как-то из это буфера с значениями полулить нормальное число в формате dec
    пока своих мыслей нет, но если только взять пример с модемом, перевести в железо и гонять ...

    зы понимаю, что не для этой темы, но суть описал ...
    Если кто-нибудь поделился бы готовым понятным кодом (я делаю на ST), то жить станет легче.
    зарание спасибо.

  7. #7
    Пользователь
    Регистрация
    10.01.2007
    Адрес
    Красноярск
    Сообщений
    138

    По умолчанию

    А описание протокола есть, можно посмотреть?
    Или привидите пример запроса и ответа с прибора.

  8. #8

    Thumbs up ...

    с протоколом конечно загнул, опрос ...


    запрос : 10h
    ответ: 3dh 20h 20h 20h 20h 32h 37h 20h 25h
    (h - hex)

    по идеи, аналог терминалки на пк...

  9. #9

    Thumbs up

    Примерно так
    var
    bufer_ptr:POINTER TO BYTE;
    valueWORD;
    power10WORD:=1;
    values_arr:ARRAY [1..10] of DWORD;
    arr_index:BYTE:=1;
    end_var
    bufer_ptr:=str_incom;
    for iter:=0 to len(str_incom) do
    if bufer_ptr^>16#30 and bufer_ptr^<16#39 then
    value:=value+(bufer_ptr^-16#30)*power10;
    power10:=power10*10;
    else
    values_arr[arr_index]:=value;
    arr_index:=arr_index+1;
    value:=0;
    power10:=1;
    end_if
    bufer_ptr:=bufer_ptr+1;
    end_for

  10. #10

    По умолчанию Не совсем

    Цитата Сообщение от Малышев Олег Посмотреть сообщение
    Примерно так
    странно ... а полный текст можно?
    здесь, слуайно, на выходе не цикл мгноеных значей должен получиться?

    хотя у меня не полуаеться съесть всю сточку, а только первые 5-6 байт, допустим байт другой откиним, но пустшки "20h" пропадают - ну и ладно но число не собрать ...

    Эх ... начал скчать по API ///

Страница 1 из 4 123 ... ПоследняяПоследняя

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •