Регистрация | Вход

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 3 из 3
  • «
  • 1
  • 2
  • 3
MODBUS
demanik Дата: Вс, 14.04.2013, 16:14  |                                                                                                                Сообщение # 31
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 448
Репутация: 10   ±
Замечания:   ±
На сайте с 11.12.2007

Статус: Offline

Цитата (MiXaS)
Под понятием сообщение, что имеется введу? 1 байт или набор данных??
Сообщение или как его называют "фейм" это полный набор начиная слейв адресом и заканчивая контрольной суммой после него должен быть интервал тишины.


Попробуй всё и вся... может быть пол...

ЯНДЕКС Дата: 14.04.2013
MiXaS Дата: Вс, 14.04.2013, 20:55  |                                                                                                                Сообщение # 32
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 545
Репутация: 27   ±
Замечания:   ±
На сайте с 02.10.2010

Статус: Offline

Спасибо! С этим вроде разобрался. Ща пытаюсь разгрести расчет контрольной суммы. Подскажите, в расчет црц входитя данные от адреса до црц не включительно?
demanik Дата: Вс, 14.04.2013, 23:38  |                                                                                                                Сообщение # 33
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 448
Репутация: 10   ±
Замечания:   ±
На сайте с 11.12.2007

Статус: Offline

Цитата (MiXaS)
Подскажите, в расчет црц входитя данные от адреса до црц не включительно?
Да, все коме самой CRC она потом добавляется в конец.
Вот сама функция на рыбе:

Код
SUB CRC_16()'-------- Функция расчета контрольной суммы CRC16 ------------------
     CONST Generator = 40961
     DIM Temp      AS WORD
     DIM CRC       AS WORD
     DIM i         AS BYTE
     DIM j         AS BYTE
     DIM BitVal    AS BIT
     CRC = 65535

     FOR i = 1 TO LengthMB
         Temp = BufferMB(i)
         CRC = CRC XOR Temp
         FOR j = 1 TO 8
             BitVal = CRC.0
             CRC = CRC >> 1
             IF BitVal = 1 THEN
                CRC = CRC XOR Generator
             ENDIF
         NEXT  
     NEXT  
     Crc16(0) = CRC.byte0' CRC16 low byte
     Crc16(1) = CRC.byte1' CRC16 high byte
END SUB'------------------------------------------------------------------------


Попробуй всё и вся... может быть пол...

MiXaS Дата: Пн, 15.04.2013, 09:15  |                                                                                                                Сообщение # 34
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 545
Репутация: 27   ±
Замечания:   ±
На сайте с 02.10.2010

Статус: Offline

Ух ты!!! Спасибо!!! Ща буду курить.
Сообщение отредактировал MiXaS - Пн, 15.04.2013, 09:18
  • Страница 3 из 3
  • «
  • 1
  • 2
  • 3
Поиск: