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

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

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

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

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

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

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

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

pambaru, спасибо. А вот все таки по какому полиному считается Этот CRC?
Реклама:
vladh вне форума  
Непрочитано 21.05.2021, 11:01  
pambaru
Почётный гражданин KAZUS.RU
 
Регистрация: 24.03.2007
Сообщений: 1,360
Сказал спасибо: 85
Сказали Спасибо 618 раз(а) в 373 сообщении(ях)
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.RU
 
Регистрация: 03.12.2004
Сообщений: 1,306
Сказал спасибо: 337
Сказали Спасибо 76 раз(а) в 33 сообщении(ях)
vladh на пути к лучшему
По умолчанию Re: CRC16 Modbus отличие

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

Закладки
Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изучение PIC C Compiler(CCS C) CERGEI1982 Embedd С 1984 30.08.2023 14:10
Знатоки 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:13.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot