TimeOut:=100; {соответствует ожиданию прихода символа τ=100*55*10-3=5,5с}
TimeStsrt:=MemW[$40:$6C]
repeat
status:=port[Base +5]; {код состояния порта}
if (status and 01) <> 0 then begin symbol:=port[Base];
break;
end;
until MemW[$40:$6C] – TimeStart > TimeOut;
Происходит передача только 1 символа. Если требуется передача строки, то нужно включить эту программу в массив.