Может я что то не правильно понимаю для подсчета crc для Modbus RTU используется полином 0xA001 ? Для генерации кода если использовать сервисе
http://outputlogic.com/?page_id=321 нужно выбрать
После его использовать по такому алгоритму: Модуль uart ждет получения байта и держит crc в сбросе, как байт получен он поступает на datain снимаеться сигнал reset и устанавливает сигнал crccloc.
Следующей такт снимает crcclok. как следующий байт поступает опять ставиться crcclok и так пока весь пакет не будет получен. когда количество полученных байт соответствует, результат crc готов.