День добрый!
Есть функция инициализации портов:
Код:
FUNCTION XferPortCheck : BOOL
VAR_INPUT
	isadc: BOOL:=FALSE;
END_VAR
VAR
END_VAR

IF isadc THEN
  IF adc_com.Ready = FALSE THEN
    adc_p.settings.Port := 1;
    adc_p.settings.dwBaudRate := 57600;
    adc_p.settings.byParity := 0;
    adc_p.settings.dwTimeout := 0;
    adc_p.settings.byStopBits := 0;
    adc_p.settings.dwBufferSize := 0;
    adc_p.settings.dwScan := 0;
    adc_com(Enable:=TRUE, Settings:=adc_p.settings, Task:=OPEN_TSK);
    aport := 0;
  ELSE
    aport := 1;
    adc_com.Enable := FALSE;
  END_IF
  XferPortCheck := aport = 1;
ELSE
  IF host_com.Ready = FALSE THEN
    host_p.settings.Port := 0;
    host_p.settings.dwBaudRate := 115200;
    host_p.settings.byParity := 0;
    host_p.settings.dwTimeout := 0;
    host_p.settings.byStopBits := 0;
    host_p.settings.dwBufferSize := 0;
    host_p.settings.dwScan := 0;
    host_com(Enable:=TRUE, Settings:=host_p.settings, Task:=OPEN_TSK);
    hport := 0;
  ELSE
    hport := 1;
    host_com.Enable := FALSE;
  END_IF
  XferPortCheck := hport = 1;
END_IF
При этом на порт 0 ничего не отсылается:
c := DWORD_TO_INT(SysComWrite(adc_com.Settings.Port, ADR(adc_p.txbuf), 4, 0));
в отладчике с всегда = 4, все ок, но в линии тишина. Порт 1 нормально работает и на прием и на передачу.

Проверялось на трех контроллерах.

Что можете посоветовать?