есть куча профильных сайтов по STM32, тот же easyelectronics.ru. Там полно примеров по modbus. Конец пакета в подавляющем большинстве
случаев определяется по прерыванию от аппаратного таймера (TIMx), т.е. паузе между пакетами.
Просто зачем было это все устраивать здесь - непонятно.