Нашел проблему - для длинных посылок неверно считалась контрольная сумма.
Обратите внимание на новую строку при подсчете CRC - crc=crc&0xFF //--Нормализация до байта:
// Реализует механизм повторной отправки (для надежности)
head=0x3A //--Заголовок
func=0x06 //--Отправка нескольких регистров байтовых регистров
adr=1 //--Адрес первого отправляемого регистра
qntReg=6 //--Кол-во отправляемых регистров
qntByte=6 //--Кол-во отправляемых байт
crc=head //--Код заголовка (':') в КС
crc+=func //--Параметр func
crc+=adr //--Параметра adr
crc+=qntReg //-- Параметр qntReg
crc+=qntByte //-- Параметр qntByte
//----Добавление в crc передаваемых регистров
crc+=out10
crc+=out11
crc+=out12
crc+=out13
crc+=out14
crc+=out15
crc=crc&0xFF //--Нормализация до байта:
//-----Вычисление crc с двумя дополнениями---------------------------------------------------
crc=0xFF-crc
crc+=1
crc&=0xFF
//-----Отправка посылки в UART
prints head,1 //--
prints func,1 //--Команда записи нескольких регистров
prints adr,1 //--Адрес записи
prints qntReg,1 //--Кол-во записываемых регистров
prints qntReg,1 //--Кол-во отправляемых байт
prints out10,1 //--Отправка регистра v1 (0xFF)
prints out11,1 //--Отправка регистра v2 (0xFF)
prints out12,1 //--Отправка регистра v3 (0xFF)
prints out13,1 //--Отправка регистра v4 (0xFF)
prints out14,1 //--Отправка регистра v4 (0xFF)
prints out15,1 //--Отправка регистра v4 (0xFF)
prints crc,1 //--Отправка crc (0xFF)
printh FF FF FF //--Отправка кодов завершения посылки
====================================================
--------------------------------------------------------------------------
---------------------------------------------------------------------------