Jump to content

    

Search the Community

Showing results for tags 'crc-16/modbus'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Сайт и форум
    • Новости и обсуждения сайта и форума
    • Другие известные форумы и сайты по электронике
    • В помощь начинающему
    • International Forum
    • Образование в области электроники
    • Обучающие видео-материалы и обмен опытом
  • Cистемный уровень проектирования
    • Вопросы системного уровня проектирования
    • Математика и Физика
    • Операционные системы
    • Документация
    • Системы CAD/CAM/CAE/PLM
    • Разработка цифровых, аналоговых, аналого-цифровых ИС
    • Электробезопасность и ЭМС
    • Управление проектами
    • Neural networks and machine learning (NN/ML)
  • Программируемая логика ПЛИС (FPGA,CPLD, PLD)
    • Среды разработки - обсуждаем САПРы
    • Работаем с ПЛИС, области применения, выбор
    • Языки проектирования на ПЛИС (FPGA)
    • Системы на ПЛИС - System on a Programmable Chip (SoPC)
  • Цифровая обработка сигналов - ЦОС (DSP)
    • Сигнальные процессоры и их программирование - DSP
    • Алгоритмы ЦОС (DSP)
  • Микроконтроллеры (MCs)
    • Cредства разработки для МК
    • ARM
    • AVR
    • MSP430
    • Все остальные микроконтроллеры
    • Отладочные платы
  • Печатные платы (PCB)
    • Разрабатываем ПП в САПР - PCB development
    • Работаем с трассировкой
    • Изготовление ПП - PCB manufacturing
  • Сборка РЭУ
  • Аналоговая и цифровая техника, прикладная электроника
  • Силовая Электроника - Power Electronics
  • Интерфейсы
  • Поставщики компонентов для электроники
  • Майнеры криптовалют и их разработка, BitCoin, LightCoin, Dash, Zcash, Эфир
  • Дополнительные разделы - Additional sections

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


AIM


MSN


Сайт


ICQ


Yahoo


Jabber


Skype


Город


Код проверки


skype


Facebook


Vkontakte


LinkedIn


Twitter


G+


Одноклассники

Found 1 result

  1. Статья на хабре: Простой и эффективный расчёт Modbus CRC16 в ПЛК и МК без побитового сдвига и таблиц Я добавил в комментариях к статье реализацию на c# для полинома 0xA001, который используется в Modbus. Тема на форуме dxdy: Ещё один способ расчёта CRC16 Там я добавил исходник на c# для полинома 0x1021. Для него алгоритм расчёта немного отличается. Есть небольшие комментарии с описанием как это работает. Думается, что здесь более подходящее место для этой темы. Без таблицы, без сдвигов (для 0x1021, c#): public static byte[] Crc16( byte[] bytes ) { int hi = 0xFF, lo = 0xFF; foreach ( var b in bytes ) { var t = ( byte ) ( lo ^ b ); lo = hi; hi = t; if ( ( hi & 0x80 ) != 0 ) { hi ^= 0x08; lo ^= 0x10; } if ( ( hi & 0x40 ) != 0 ) { hi ^= 0x04; lo ^= 0x08; } if ( ( hi & 0x20 ) != 0 ) { hi ^= 0x02; lo ^= 0x04; } if ( ( hi & 0x10 ) != 0 ) { hi ^= 0x01; lo ^= 0x02; } if ( ( hi & 0x08 ) != 0 ) { hi ^= 0x00; lo ^= 0x81; } if ( ( hi & 0x04 ) != 0 ) { hi ^= 0x80; lo ^= 0x40; } if ( ( hi & 0x02 ) != 0 ) { hi ^= 0x40; lo ^= 0x20; } if ( ( hi & 0x01 ) != 0 ) { hi ^= 0x20; lo ^= 0x10; } } return new [] { ( byte ) lo, ( byte ) hi }; }