При этом взводится флаг, который сбрасывается только по окончании таймаута. Т.К. передача пакета обачно идет слитно без промежутков между байтами, то при приеме каждого байта таймаут будет постоянно перезапускаться. После приема последнего байта пакета -правда с опозданием на таймаут - фдажок сбросится, что и укажет на окончание приема по USART. Таймаут отрабатывается таймером, а запускается процедурой приема байта из USART. В прерывании от таймера флажок и сбрасывается.