Реклама на сайте DatasheetsDatasheets

KAZUS.RUN - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Книги и журналы
FAQ по электронике

  Datasheets
Поиск SMD
Онлайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Схемы и проекты
Принципиальные схемы
  Программы
Каталог сайтов
Калькуляторы
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы

CRC16 Modbus отличие

Непрочитано 21.05.2021, 10:43  
vladh
Почётный гражданин KAZUS.RUN
 
Регистрация: 03.12.2004
Сообщений: 1,311
Сказал спасибо: 353
Сказали Спасибо 76 раз(а) в 33 сообщении(ях)
vladh на пути к лучшему
По умолчанию Re: CRC16 Modbus отличие

pambaru, спасибо. А вот все таки по какому полиному считается Этот CRC?
Реклама:
vladh вне форума  
Непрочитано 21.05.2021, 11:01  
pambaru
Почётный гражданин KAZUS.RUN
 
Регистрация: 24.03.2007
Сообщений: 1,394
Сказал спасибо: 85
Сказали Спасибо 672 раз(а) в 392 сообщении(ях)
pambaru на пути к лучшему
По умолчанию Re: CRC16 Modbus отличие

Сообщение от vladh Посмотреть сообщение
А вот все таки по какому полиному считается Этот CRC?
На modbus.org написано:
Generating polynomial = 1 + x2 + x15 + x16

https://modbus.org/docs/Modbus_over_...line_V1_01.pdf
pambaru вне форума  
Эти 2 пользователя(ей) сказали Спасибо pambaru за это сообщение:
mtit (24.05.2021)
Непрочитано 21.05.2021, 11:09  
artg
Частый гость
 
Регистрация: 15.08.2006
Сообщений: 21
Сказал спасибо: 0
Сказали Спасибо 7 раз(а) в 4 сообщении(ях)
artg на пути к лучшему
По умолчанию Re: CRC16 Modbus отличие

unsigned int modbus_crc16(void *adr, unsigned char len)
{
unsigned char *pcBlock;
unsigned int crc, t;
unsigned char i;
crc=0xFFFF; pcBlock=adr;
while (len--)
{
t=*pcBlock++;crc=crc^t;
for (i=0;i‹8;i++) {if (crc&0x0001) {crc=crc››1;crc=crc^0xA001;} else crc=crc››1;}
}
return crc;
}

это в CodeVision. указатель pcBlock для указания компилятору что тип данных char (т.е. 1 байт)
adr - указатель на объект (строка, структура и тд, т.е. адрес начала объекта в памяти)
len - размер объекта в байтах (напр sizeof(МояМегаПосылка))

для отладки мне понравился arOPC.
artg вне форума  
Непрочитано 21.05.2021, 11:33  
vladh
Почётный гражданин KAZUS.RUN
 
Регистрация: 03.12.2004
Сообщений: 1,311
Сказал спасибо: 353
Сказали Спасибо 76 раз(а) в 33 сообщении(ях)
vladh на пути к лучшему
По умолчанию Re: CRC16 Modbus отличие

Всем огромное спасибо. Открылись у меня глаза. Увидел Солнце!
vladh вне форума  
 
Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изучение PIC C Compiler(CCS C) CERGEI1982 Embedd С 2008 26.08.2026 21:20
Знатоки pic - в чем отличие PIC18F45J50 от PIC18F46J50? avr123-nm-ru PIC 5 19.06.2013 08:42
Modbus, реле Premco ZX122 nerozero Производственное оборудование 2 30.07.2011 12:09
Modbus + CoDeSys 2.3 Nikitos_Nu Микроконтроллеры, АЦП, память и т.д 2 21.12.2010 19:24
MODBUS - динамическое выделение адресов alexgap Микроконтроллеры, АЦП, память и т.д 0 29.01.2009 23:22


Часовой пояс GMT +4, время: 03:42.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.