% Estabelecimento de uma nova ligação via RS-232
%
% [handler,state]=initcom(gate,rate)
%
% Entradas:
%  gate    -> Porta a utilizar (1,2,...)
%  rate    -> baudrate a definir
% Saídas:
%  handler -> ID da linha de comunicações
%  state   -> Configurações da linha
%
% (c) Milton Ruas da Silva, 2006

function H=initcom(port,baud)

% Verificação dos argumentos de saída
if (nargout==0)
    error('myfunction:initComm:outargs','É necessário definir pelo menos uma variavel de saída!');
end

% Argumentos default:
if (nargin<2)
    baud=115200;     % BaudRate=19200
end
if (nargin==0)
    port=1;         % gate=COM1
end

% Criação de um objecto serial
H=serial(port);

% Setup
H.ByteOrder='littleEndian';
H.BytesAvailableFcnMode='byte';
H.InputBufferSize=512;
H.OutputBufferSize=512;
H.Timeout=0.1;

H.BaudRate=baud;
H.DataBits=8;
H.FlowControl='none';
H.Parity='none';
H.ReadAsyncMode='continuous';

% Ligar comunicações
fopen(H);
