взяль tx и rx на контроллере перемкнул, делаю:

buf:='12345678901234567890zx';
SysComWrite(port, ADR(buf), 22, 0);
klv:=SysComRead(port, ADR(str), 22, 0);

получаю 1-2 первых символа и мусора следом пару символов, klv показывает 1-2...